計算機(jī)網(wǎng)絡(luò)——應(yīng)用層-郵件&SMTP

計算機(jī)網(wǎng)絡(luò)系列博文——目錄

因特網(wǎng)電子郵件系統(tǒng)(email)

組成部分

  • 用戶代理 郵件客戶端嘶摊,允許用戶閱讀,回復(fù)窍仰,轉(zhuǎn)發(fā),保存导匣,撰寫報文(電子郵件)
  • 郵件服務(wù)器 每個郵件接收方都在某郵件服務(wù)器上有一個郵箱,郵箱存儲發(fā)給該用戶的Email才菠,郵箱的消息隊列存儲等待發(fā)送的Email
  • 簡單郵件傳輸協(xié)議,SMTP 郵件服務(wù)器之間傳遞消息所使用的協(xié)議
  • 發(fā)送方代理和發(fā)送方服務(wù)器間贡定,可通過SMTP赋访,HTTP協(xié)議推送報文;
  • 發(fā)送方服務(wù)器和接收方服務(wù)器間缓待,通過郵件傳輸協(xié)議SMTP推送報文蚓耽;
  • 接收方服務(wù)器和接收方代理間,可通過郵件訪問協(xié)議旋炒,如POP3,IMAP,HTTP等拉取報文步悠;

SMTP簡單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP)

用于從發(fā)送方郵件服務(wù)器發(fā)送報文到接收方郵件服務(wù)器

參見 [RFC 5321]

  • 古老(1982年有正式RFC文檔,但事實上早在此前出現(xiàn))瘫镇,限制報文的體只能用ASCII表示鼎兽。傳輸現(xiàn)代多媒體附件時,要將多媒體數(shù)據(jù)編碼為ASCII碼汇四,用SMTP傳輸完畢后再解碼還原為多媒體數(shù)據(jù)接奈。

  • SMTP一般不使用中間郵件服務(wù)器發(fā)送郵件,即使兩服務(wù)器相距甚遠(yuǎn)也會嘗試直接建立連接通孽。

  • 依賴TCP運(yùn)輸層協(xié)議,端口:25睁壁,使用持久性連接

  • 要求消息必須由7位ASCII碼構(gòu)成

  • SMTP通信雙方在TCP連接建立之后背苦,還會進(jìn)行應(yīng)用層的握手,SMTP客戶端會指示收發(fā)雙方的郵件地址潘明。

  • SMTP服務(wù)器利用CRLF.CRLF確定消息的結(jié)束行剂。

  • 若SMTP發(fā)送方服務(wù)器有多個發(fā)往同一接收服務(wù)器的報文,它會在同一TCP連接內(nèi)傳輸钳降,但在每個報文發(fā)送前都進(jìn)行應(yīng)用層握手(聲明郵件的收發(fā)雙方)

命令/響應(yīng)交互模式

  • 命令(command): ASCII文本
  • 響應(yīng)(response): 狀態(tài)代碼和語句

拉協(xié)議(pull protocol)

用戶依據(jù)協(xié)議從服務(wù)器上拉取信息厚宰,連接由文件接收方發(fā)起。如HTTP(的主要功能)

推協(xié)議(push protocol)

用戶依據(jù)協(xié)議把文件推送到服務(wù)器上遂填,連接由文件發(fā)送方發(fā)起铲觉。如SMTP

SMTP對比HTTP

同:都用于主機(jī)間的文件傳輸
異:

  1. HTTP主要是拉協(xié)議,SMTP主要是推協(xié)議吓坚。
  2. HTTP無編碼限制撵幽,SMTP要求每個報文(包括報文體)使用7比特的ASCII碼格式。
  3. 對于由多個對象組成的文檔礁击,HTTP將每個對象封裝到獨立的報文中盐杂,而SMTP把所有報文對象放在一個報文內(nèi)逗载。

Email消息格式

定義郵件消息本身的格式,包括首部行和報文體

參見 [RFC 5322]

頭部行(header)

  • To
  • From
  • Subject 主題链烈,可選的

email頭部行不同于SMTP中的命令厉斟,盡管它們可能冗余了同樣的信息。email from强衡,to頭部行是email報文的一部分捏膨,而SMTP的from,to命令是SMTP握手協(xié)議的一部分。

空行 分隔

消息體(body)
消息本身食侮,只能是ASCII字符

Email消息格式:多媒體擴(kuò)展 MIME

MIME:多媒體郵件擴(kuò)展 RFC 2045, 2056
通過在郵件頭部增加額外的行以聲明MIME的內(nèi)容類型
額外的頭部行包括數(shù)據(jù)編碼方法号涯,多媒體類型,子類型锯七,參數(shù)等链快。

郵件訪問協(xié)議

用于接收方從接收方郵件服務(wù)器上拉取報文。

常用郵件訪問協(xié)議:

  • Post Office Protocol-Version 3,POP3
  • Internet Mail Access Protocol,IMAP
  • HTTP

POP協(xié)議

極為簡單的郵件訪問協(xié)議眉尸。帶有認(rèn)證/授權(quán)和下載功能域蜗。

參見 [RFC 1939]

POP3的包括 特許,事務(wù)處理噪猾,更新三個階段

POP3是無狀態(tài)的

服務(wù)器響應(yīng)

  • +OK [可選的數(shù)據(jù)]
  • -ERR

認(rèn)證過程

用戶代理以明文形式發(fā)送用戶名和口令以鑒別用戶

客戶端命令

  • User:聲明用戶名
  • Pass: 聲明密碼

事務(wù)階段

用戶代理拉取報文
獲取服務(wù)器上的報文信息
將報文標(biāo)記為待刪除

  • List:列出消息數(shù)量
  • Retr:用編號獲取消息
  • Dele: 刪除消息
  • Quit

更新階段

發(fā)生在用戶發(fā)出quit命令后霉祸,刪除那些被用戶標(biāo)記為待刪除的報文

IMAP協(xié)議

比POP3功能更為強(qiáng)大也更為復(fù)雜的郵件訪問協(xié)議

所有消息統(tǒng)一保存在一個地方:服務(wù)器
允許用戶利用文件夾組織消息
IMAP支持跨會話(Session)的用戶狀態(tài)

HTTP協(xié)議

現(xiàn)今基于Web的電子郵件都使用HTTP協(xié)議,此時用戶代理就是普通的瀏覽器袱蜡。
用戶和郵件服務(wù)器間的報文傳輸都通過HTTP進(jìn)行丝蹭,而郵件服務(wù)器間的報文傳輸仍通過SMTP進(jìn)行。

郵件發(fā)送過程

  1. 發(fā)送方用戶代理用SMTP(或HTTP)將郵件推送至發(fā)送方郵件服務(wù)器坪蚁;
  2. 發(fā)送方郵件服務(wù)器用SMTP將郵件推送至接收方郵件服務(wù)器奔穿;具體地,發(fā)送方郵件暫存與發(fā)送方郵件服務(wù)器中敏晤,發(fā)送方郵件服務(wù)器會周期性的嘗試連接接收方服務(wù)器贱田,若多次嘗試失敗,則返回給發(fā)送方一個錯誤信息
  3. 接收方郵件服務(wù)器分發(fā)郵件給接收方嘴脾;具體地男摧,接收方通過郵件訪問協(xié)議從接收方郵件服務(wù)器上拉取郵件。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末译打,一起剝皮案震驚了整個濱河市耗拓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扶平,老刑警劉巖帆离,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異结澄,居然都是意外死亡哥谷,警方通過查閱死者的電腦和手機(jī)岸夯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來们妥,“玉大人猜扮,你說我怎么就攤上這事〖嗌簦” “怎么了旅赢?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惑惶。 經(jīng)常有香客問我煮盼,道長,這世上最難降的妖魔是什么带污? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任僵控,我火速辦了婚禮,結(jié)果婚禮上鱼冀,老公的妹妹穿的比我還像新娘报破。我一直安慰自己,他們只是感情好千绪,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布充易。 她就那樣靜靜地躺著,像睡著了一般荸型。 火紅的嫁衣襯著肌膚如雪盹靴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天帆疟,我揣著相機(jī)與錄音鹉究,去河邊找鬼。 笑死踪宠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妈嘹。 我是一名探鬼主播柳琢,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼润脸!你這毒婦竟也來了柬脸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤毙驯,失蹤者是張志新(化名)和其女友劉穎倒堕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爆价,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡垦巴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年媳搪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骤宣。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡秦爆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出憔披,到底是詐尸還是另有隱情等限,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布芬膝,位于F島的核電站望门,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏锰霜。R本人自食惡果不足惜筹误,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锈遥。 院中可真熱鬧纫事,春花似錦、人聲如沸所灸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爬立。三九已至钾唬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侠驯,已是汗流浹背抡秆。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留吟策,地道東北人儒士。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像檩坚,于是被迫代替她去往敵國和親着撩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容