SMTP

SMTP

電子郵件傳輸協議
SMTP是一種提供可靠且有效的電子郵件傳輸的協議。SMTP是建立在FTP文件傳輸服務上的一種郵件服務,主要用于系統之間的郵件信息傳遞,并提供有關來信的通知。SMTP獨立于特定的傳輸子系統,且隻需要可靠有序的數據流信道支持,SMTP的重要特性之一是其能跨越網絡傳輸郵件,即“SMTP郵件中繼”。使用SMTP,可實現相同網絡處理進程之間的郵件傳輸,也可通過中繼器或網關實現某處理進程與其他網絡之間的郵件傳輸。
  • 中文名:簡單郵件傳輸協議
  • 外文名:Simple Mail Transfer Protocol
  • 适用領域:
  • 所屬學科:
  • 作用:傳輸系統之間的郵件信息
  • 端口:25

簡介

SMTP是一個相對簡單的基于文本的協議。在其之上指定了一條消息的一個或多個接收者(在大多數情況下被确認是存在的),然後消息文本會被傳輸。可以很簡單地通過telnet程序來測試一個SMTP服務器。SMTP使用TCP端口25。要為一個給定的域名決定一個SMTP服務器,需要使用MX (Mail eXchange)DNS。

在八十年代早期SMTP開始被廣泛地使用。當時,它隻是作為UUCP的補充,UUCP更适合于處理在間歇連接的機器間傳送郵件。相反,SMTP在發送和接收的機器在持續連線的網絡情況下工作得最好。

Sendmail是最早使用SMTP的郵件傳輸代理之一。到2001年至少有50個程序将SMTP實現為一個客戶端(消息的發送者)或一個服務器(消息的接收者)。一些其他的流行的SMTP服務器程序包括了Philip Hazel的exim,IBM的Postfix,D. J. Bernstein的Qmail,以及Microsoft Exchange Server。

由于這個協議開始是基于純ASCII文本的,它在二進制文件上處理得并不好。諸如MIME的标準被開發來編碼二進制文件以使其通過SMTP來傳輸。今天,大多數SMTP服務器都支持8位MIME擴展,它使二進制文件的傳輸變得幾乎和純文本一樣簡單。

SMTP是一個“推”的協議,它不允許根據需要從遠程服務器上“拉”來消息。要做到這點,郵件客戶端必須使用POP3或IMAP。另一個SMTP服務器可以使用ETRN在SMTP上觸發一個發送。

功能

SMTP是一組用于從源地址到目的地址傳送郵件的規則,并且控制信件的中轉方式。SMTP協議屬于TCP/IP協議族,它幫助每台計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的服務器,我們就可以把E—mail寄到收信人的服務器上了,整個過程隻需要幾分鐘。SMTP服務器是遵循SMTP協議的發送郵件服務器,用來發送或中轉用戶發出的電子郵件。

SMTP是一種提供可靠且有效電子郵件傳輸的協議。它是建立在FTP文件傳輸服務上的一種郵件服務,主要用于傳輸系統之間的郵件信息并提供來信有關的通知。

SMTP重要的特性之一是它能跨越網絡傳輸郵件,也即“SMTP郵件中繼”。使用SMTP,可實現相同網絡上處理機之間的郵件傳輸,也可以通過中繼器或網關實現某處理機與其它網絡之間的郵件傳輸。具有域名服務系統(DNS)功能的郵件交換服務器還可以用來識别出傳輸郵件的下一跳IP地址。

工作過程

SMTP協議的工作過程可分為如下3個過程:

(1)建立連接:在這一階段,SMTP客戶請求與服務器的25端口建立一個TCP連接。一旦連接建立,SMTP服務器和客戶就開始相互通告自己的域名,同時确認對方的域名。

(2)郵件傳送:利用命令,SMTP客戶将郵件的源地址、目的地址和郵件的具體内容傳遞給SMTP服務器,SMTP服務器進行相應的響應并接收郵件。

(3)連接釋放:SMTP客戶發出退出命令,服務器在處理命令後進行響應,随後關閉TCP連接。

SMTP通信舉例

下面通過一個實例進行說明。在本例中,假設郵件從名為panwei@163. com的發件人電子郵件箱(運行SMTP客戶進程,具體顯示為C)傳送到名為network@xmu. edu. cn的收件人電子信箱(運行SMTP服務器進程,具體顯示為S),具體的命令和響應信息如下:telnetwww.example.com25它打開一個從發送的機器到主機www.example.com的SMTP連接。

1

S:(注:等待連接TCP的25号端口,該端口對應SMTP服務)

2

 

3

C:(注:打開與服務器的連接)

4

 

5

S: 220 xmu. edu. cn SMTP Service ready(注:服務器的TCP連接就緒)

6

 

7

C: HELO 163.com

8

 

9

S: 250 xmu. edu. cn says hello

10

 

11

C:MAIl. FROM:

12

 

13

S:250 0K

14

 

15

C: RCPT TO:

16

 

17

S:250 0K

18

 

19

C:DATA

20

S:354 Start mail input; end wITh.

21

 

22

C:…sends body of mail message..

23

 

24

C:…Dear xxx..

25

 

26

C:

27

 

28

S:250 OK

29

 

30

C:QUIT

31

S: 221 xmu. edu. cn Service closing transmission channel

以上所示的是一個簡單的SMTP交換過程,包括了連接建立、郵件傳送和連接釋放三個具體過程:首先建立TCP連接,SMTP調用TCP協議的25号端口監聽連接請求,客戶端發送HElO命令以标識發件人自己的身份,服務器做出響應。然後,客戶端發送MAII)命令,服務器以OK作為Ⅱ向應,表明準備接收。客戶端發送RCPT命令以标識電子郵件的收件人,可以有多個RCPT行,即一份郵件可以同時發送給多個收件人。服務器端則表示是否願意為收件人接收郵件。協商結束後,客戶端用DATA命令發送信息,以表示結束輸入内容。最後,控制交互的任一端可選擇終止會話,為此它發出一個QUIT命令,另一端用命令221響應,表示同意終止連接,雙方将關閉連接。

SMTP交換過程中服務器端發出的“250 0K”含義是一切都好。與使用其他協議一樣,程序隻讀縮寫命令和每行開頭的三個數字,其餘文本是用于幫助用戶調試郵件軟件。在命令成功時,服務器返回代碼250,如果失敗則返回代碼550(命令無法識别)、451(處理時出錯)、452(存儲空間不夠)、421(服務器不可用)等,354則表示開始信息輸入。

SMTP的局限性表現在隻能發送ASCII碼格式的報文,不支持中文、法文、德文等,它也不支持語音、視頻的數據。通過MIME協議,對SMTP補充。MIME使用網絡虛拟終端(NVT)标準,允許非ASCII碼數據通過SMTP傳輸。

SMTP安全和垃圾郵件

最初的SMTP的局限之一在于它沒有對發送方進行身份驗證的機制。因此,後來定義了SMTP-AUTH擴展。

盡管有了身份認證機制,垃圾郵件仍然是一個主要的問題。但由于龐大的SMTP安裝數量帶來的網絡效應,大刀闊斧地修改或完全替代SMTP被認為是不現實的。Internet Mail 2000就是一個替代SMTP的建議方案。

因此,出現了一些同SMTP工作的輔助協議。IRTF的反垃圾郵件研究小組正在研究一些建議方案,以提供簡單、靈活、輕量級的、可升級的源端認證。最有可能被接受的建議方案是發件人策略框架協議。

相關詞條

相關搜索

其它詞條