SMTP協(xié)議的簡(jiǎn)單描述
在電子郵件方面,我們已經(jīng)知道了POP協(xié)議和IMAP協(xié)議了。今天我們?cè)賮斫榻B一下SNTP協(xié)議。這個(gè)協(xié)議同樣也是在郵件方面有著重要的地位。SMTP是一種提供可靠且有效電子郵件傳輸?shù)膮f(xié)議。SMTP 是建模在 FTP 文件傳輸服務(wù)上的一種郵件服務(wù),主要用于傳輸系統(tǒng)之間的郵件信息并提供來信有關(guān)的通知。
SMTP 獨(dú)立于特定的傳輸子系統(tǒng),且只需要可靠有序的數(shù)據(jù)流信道支持。SMTP協(xié)議重要特性之一是其能跨越網(wǎng)絡(luò)傳輸郵件,即SMTP郵件中繼。通常,一個(gè)網(wǎng)絡(luò)可以由公用互聯(lián)網(wǎng)上 TCP 可相互訪問的主機(jī)、防火墻分隔的 TCP/IP 網(wǎng)絡(luò)上 TCP 可相互訪問的主機(jī),及其它 LAN/WAN 中的主機(jī)利用非 TCP 傳輸層協(xié)議組成。使用 SMTP,可實(shí)現(xiàn)相同網(wǎng)絡(luò)上處理機(jī)之間的郵件傳輸,也可通過中繼器或網(wǎng)關(guān)實(shí)現(xiàn)某處理機(jī)與其它網(wǎng)絡(luò)之間的郵件傳輸。
在這種方式下,郵件的發(fā)送可能經(jīng)過從發(fā)送端到接收端路徑上的大量中間中繼器或網(wǎng)關(guān)主機(jī)。域名服務(wù)系統(tǒng)(DNS)的郵件交換服務(wù)器可以用來識(shí)別出傳輸郵件的下一跳IP地址。
協(xié)議結(jié)構(gòu)
SMTP協(xié)議命令是發(fā)送于SMTP主機(jī)之間的 ASCII 信息,可能命令如下所示:
命令 | 描述 |
DATA | 開始信息寫作 |
EXPN <string> | 在指定郵件表中返回名稱 |
HELO <domain> | 返回郵件服務(wù)器身份 |
HELP <command> | 返回指定命令中的信息 |
MAIL FROM <host> | 在主機(jī)上初始化一個(gè)郵件會(huì)話 |
NOOP | 除服務(wù)器響應(yīng)確認(rèn)以外,沒有引起任何反應(yīng) |
QUIT | 終止郵件會(huì)話 |
RCPT TO <user> | 指明誰(shuí)收到郵件 |
RSET | 重設(shè)郵件連接 |
SAML FROM <host> | 發(fā)送郵件到用戶終端和郵箱 |
SEND FROM <host> | 發(fā)送郵件到用戶終端 |
SOML FROM <host> | 發(fā)送郵件到用戶終端或郵箱 |
TURN | 接收端和發(fā)送端交換角色 |
VRFY <user> | 校驗(yàn)用戶身份 |