EMail:電子郵件
協議包括發送和拉取的協議
發送的協議:SMTP簡單郵件傳輸協議
拉取的協議:POP3郵件傳輸協議,IMAP消息訪問協議,HTTP超文本傳輸協議
HTTP超文本傳輸協議:
可以上載POST和下載GET文件;
用戶代理:撰寫發送郵件的客戶端軟件,如QQ郵箱,outlook郵箱【通過此軟件來訪問郵件的的應用】
瀏覽器是web應用的用戶代理;FTP的客戶端軟件是FTP應用的用戶代理
通過客戶端軟件與服務器交互
EMail:過程
用戶代理配置好郵件服務器的IP地址和端口號,通過郵件服務器發郵件【把郵件發在郵件服務器的排隊隊列中,到隊頭再發送】,郵件服務器從隊列中挨個地取郵件,之后向相應的目標郵件服務器發走;目標郵件服務器收到郵件之后,把其放在相應用戶的目錄【郵箱】當中
目標的用戶收郵件,運行用戶代理,從郵箱中把別人發給他的郵件拉取過來
因為源服務器和目標服務器都可以發送和拉取郵件,所以兩個都可以是服務器和客戶端
報文:Message
命令和響應都是ASCII碼形式
報文必須是7位ASCII碼,超過就不允許傳輸
EMail:舉例
隊列:郵件服務器的用戶很多;郵件傳輸定時發送
簡單的SMTP交互
郵件的內容全部是ASCII碼形式,所以互聯網打了補丁:MIME多媒體郵件擴展
如果客戶端還要向服務器發郵件,繼續在此連接上進行發送【持久的連接】
HTTP:
客戶端向服務器請求–拉取
HTTP:一個對象一個報文
SMTP:多個對象一個報文【一個郵件包含了視頻,文檔,圖片等】
郵件報文格式
To:發給誰
From:誰發的
Subject:郵件的標題title
常見的郵件信息:
cc抄送,同一份郵件同時發給另外的人
抄送就是將郵件同時發送給收信人以外的人,用戶所寫的郵件抄送一份給別人
MIME多媒體郵件擴展
傳輸的郵件ASCII碼不夠,使用MIME多媒體郵件擴展打補丁
使用base64的編碼:
把郵件中若干個不在ASCII碼范圍內的字節轉換為更長的在ASCII碼范圍內的字符【定義一個映射關系】,即可以通過SMTP協議傳輸
對方郵件:通過base64轉換回來,使用MIME解釋出來
郵件訪問協議
前兩跳是推【SMTP】;最后一跳是拉【POP3,IMAP,HTTP】
POP3協議與IMAP協議
POP3:
收發郵件可以跑在TCP和SSL上【加密】
retr:從郵箱中拉取郵件【下載郵件】
兩種方式:
下載并刪除模式【從一個地方拉取下來文件就會被刪除】
下載并保留模式
pop3:僅僅能看到收件箱和發件箱
IMAP:能在遠程創建目錄,把郵件從一個目錄搬到另一個目錄【遠程目錄維護】