亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rfc821(c).txt

?? 計算機網絡的課件Courseware for computer networks
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:顧國飛(ggfei  ggfei@263.net)
譯文發布時間:2001-3-30
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須保留本文檔的翻譯及版權信息。

Network Working Group                                          J. Postel
Request for Comments: DRAFT                                          ISI
Replaces: RFC 788, 780, 772                                  August 1982


RFC821 簡單郵件傳輸協議(SMTP)
(RFC821  SIMPLE MAIL TRANSFER PROTOCOL)


目錄
1. 介紹	2
2. SMTP模型	3
3. SMTP過程	4
3.1. MAIL	4
3.2. 轉發	5
3.3. 確認和擴展	6
3.4. 發送信件(mailing)和獲得信件(sending)	7
3.5. 打開和關閉	7
3.6. 轉發	8
3.7. 域	9
3.8. 改變角色	9
4. SMTP說明	9
4.1. SMTP命令	9
4.1.1. 命令語法	9
4.1.2. COMMAND語法格式	13
4.2. SMTP響應	15
4.3. 命令和應答序列	16
4.4. 狀態圖	17
4.5. 詳細內容	18
4.5.1. 最小實現	18
4.5.2. 透明性	19
4.5.3. 大小	19
附錄 A TCP傳輸服務	19
附錄 B NCP傳輸服務	20
附錄 C NITS	20
附錄 D X.25傳輸服務	20
附錄 E 應答碼構成方法	20
附錄 F 一些例子	22
參考資料	36

  1. 介紹
  簡單郵件傳輸協議(SMTP)的目標是可靠高效地傳送郵件,它獨立于傳送子系統而且僅要求一條可以保證傳送數據單元順序的通道。附錄A,B,C和D描述了不同傳送服務下SMTP的使用。在名詞表中還定義了本文檔中使用的術語。
  SMTP的一個重要特點是它能夠在傳送中接力傳送郵件,傳送服務提供了進程間通信環境(IPCE),此環境可以包括一個網絡,幾個網絡或一個網絡的子網。理解到傳送系統(或IPCE)不是一對一的是很重要的。進程可能直接和其它進程通過已知的IPCE通信。郵件是一個應用程序或進程間通信。郵件可以通過連接在不同IPCE上的進程跨網絡進行郵件傳送。更特別的是,郵件可以通過不同網絡上的主機接力式傳送。
2. SMTP模型 
  SMTP設計基于以下通信模型:針對用戶的郵件請求,發送SMTP建立與接收SMTP之間建立一個雙向傳送通道。接收SMTP可以是最終接收者也可以是中間傳送者。SMTP命令由發送SMTP發出,由接收SMTP接收,而應答則反方面傳送。
一旦傳送通道建立,SMTP發送者發送MAIL命令指明郵件發送者。如果SMTP接收者可以接收郵件則返回OK應答。SMTP發送者再發出RCPT命令確認郵件是否接收到。如果SMTP接收者接收,則返回OK應答;如果不能接收到,則發出拒絕接收應答(但不中止整個郵件操作),雙方將如此重復多次。當接收者收到全部郵件后會接收到特別的序列,如果接收者成功處理了郵件,則返回OK應答。
SMTP提供傳送郵件的機制,如果接收方與發送方連接在同一個傳送服務下時,郵件可以直接由發送方主機傳送到接收方主機;或者,當兩者不在同一個傳送服務下時,通過中繼SMTP服務器傳送。為了能夠對SMTP服務器提供中繼能力,它必須擁有最終目的主機地址和郵箱名稱。
  MAIL命令參數是回復路徑,它指定郵件從何處來;而RCPT命令的參數是轉發路徑的,它指定郵件向何處去。向前路徑是源路徑,而回復路徑是返回路徑(它用于發生錯誤時返回郵件)。
  當同一個消息要發往不同的接收者時,SMTP遇到了向不同接收者發送同一份數據的復制品的問題,郵件命令和應答有一個比較奇怪的語法,應答也有一個數字代碼。在下面,例子中可以看到哪些使用實際的命令和應答。完整的命令和應答在第四節。
  命令與應答對大小寫不敏感,也就是說,命令和應答可以是大寫,小寫或兩者的混合,但這一點對用戶郵件名稱卻不一定是對的,因為有的主機對用戶名大小寫是敏感的。這樣SMTP實現中就將用戶郵箱名稱保留成初始時的樣子,主機名稱對大小寫不敏感。
  命令與應答由ASCII字母表組成,當傳送服務提供8位字節傳送通道,每7位字符正確傳送,而最高位被填充為0。當指定一般的命令或應答格式后,參數會由一些類似于語言的字符串表示出來,如"<string>"或"<reverse-path>",這里尖括號表示這是一種類似于語言的變量。
3. SMTP過程 
  本節提供了SMTP中的一些過程。頭一個說明的是基本發送過程(定義為發送操作)。下來描述向前傳送郵件,確認郵箱名稱和擴展郵件列表,發送到終端和打開關閉交換。在本節的最后是對中斷,郵件域的說明。本節的例子只是一部分命令和應答的序列,完整的例子見附錄F。
3.1. MAIL
  在SMTP發送操作中有三步,操作由MAIL命令開始給出發送者標識。一系列或更多的RCPT命令緊跟其后,給出了接收者信息,然后是DATA命令列出發送的郵件內容,最后郵件內容指示符確認操作。

  過程中的第一步是MAIL命令,< reverse-path >包括源郵箱。

  MAIL <SP> FROM:<reverse-path> <CRLF>

  此命令告訴接收者新的發送操作已經開始,請復位所有狀態表和緩沖區。它給出反向路徑以進行錯誤信息返回。如果請求被接收,接收方返回一個250 OK應答。<reverse-path>中不止包括了郵箱,它包括了主機和源郵箱的反向路由,其中的第一個主機就是發送此命令的主機。

  過程中的第二步是發送RCPT命令。

  RCPT <SP> TO:<forward-path> <CRLF>

  此命令給出向前路徑標識接收者,如果命令被接收,接收方返回一個250 OK應答,并存儲向前路徑。如果接收者未知,接收方會返回一個550 Failure應答。此過程可能會重復若干次。
  <forward-path>不僅包括郵件,它是主機和目的郵箱的路由表,在其中的第一個主機就是接收命令的主機。 過程中的第三步是發送DATA命令。

DATA <CRLF>

  如果命令被接收,接收方返回一個354 Intermediate應答,并認定以下的各行都是信件內容。當信件結尾收到并存儲后,接收者發送一個250 OK應答。因為郵件是在傳送通道上發送,因此必須指明郵件內容結尾,以便應答對話可以重新開始。SMTP通過在最后一行僅發送一個句號來表示郵件內容的結束,在接收方,一個對用戶透明的過程將此符號過濾掉,以不影響正常的數據。
  注意:郵件內容包括如下提示:Date, Subject, To, Cc, From。

  郵件內容指示符確認郵件操作并告知接收者可以存儲和再發送數據了。如果此命令被接收,接收方返回一個250 OK應答。DATA命令僅在郵件操作未完成或源無效的情況下失敗。

  上面所述的過程是一個發送操作。這些命令只能以上面的順序使用。下例表示了在一個發送操作中這些命令的使用。
  SMTP過程例子 此例是在Alpha.ARPA主機的Smith發送郵件給Beta.ARPA主機的Jones,Green和Brown的,這里假定主機Alpha與主機Beta直接相連。

  S: MAIL FROM:<Smith@Alpha.ARPA>
  R: 250 OK
  S: RCPT TO:<Jones@Beta.ARPA>
  R: 250 OK
  S: RCPT TO:<Green@Beta.ARPA>
  R: 550 No such user here
  S: RCPT TO:<Brown@Beta.ARPA>
  R: 250 OK
  S: DATA
  R: 354 Start mail input; end with <CRLF>.<CRLF>
  S: Blah blah blah...
  S: ...等等
  S: <CRLF>.<CRLF>
  R: 250 OK
  此信被前兩個人接收,而第三個人在此主機上沒有郵箱。
3.2. 轉發 
  下面是一些<forward-path>中目的地址不正確的,但接收者知道正確的目的地址的例子。在這些例子中,下列應答之一應該允許發送方與獲得正確地址。

  251:用戶不在本地;將向前發送到<forward-path>。

  這個應答意味著,接收方SMTP知道用戶的郵箱在另外的主機上,而且意味著將在未來使用正確的轉向路徑。請注意,主機或者用戶,或者它們兩者是不同的。接收方負責傳送消息。

  551 :用戶非本地,請嘗試<forward-path>

  這個應答意味著接收SMTP知道用戶的郵箱在另外的主機上,并意味著使用了正確的轉發路徑。注意請注意,主機或者用戶,或者它們兩者是不同的。接收方拒絕接收此用戶的信件,發送者必須根據提供的信息重新發送或者向原發送者返回錯誤信息。 下例顯示了這些響應的應用。

  轉發的例子
  S: RCPT TO:<Postel@USC-ISI.ARPA>
  R: 251 User not local; will forward to <Postel@USC-ISIF.ARPA>
  或者
  S: RCPT TO:<Paul@USC-ISIB.ARPA>
  R: 551 User not local; please try <Mockapetris@USC-ISIF.ARPA>
3.3. 確認和擴展
  SMTP提供了另外的確認用戶名和擴展郵件列表的功能。這些功能由VREF和EXPN命令完成,它們都以字符串為參數。對于VREF命令,字符串參數指的是用戶名,對此命令的響應要包括用戶的命名和用戶的郵箱。對于EXPN命令,字符串參數指的是郵件列表,對此命令的響應多于一個,它們要包括所有列表中用戶的命名和他們的郵箱。
  “用戶名”是一個多余的項目,它是故意被加上的。如果主機采用VREF命令和EXPN命令,最后本地郵箱必須提供用戶名使它被主機確認。如果主機選擇由另外的字符串作為用戶名,也是允許的。
  在一些主機中,郵箱列表和一個郵箱的代名有一點不清楚,因為一般的數據結構可能包括兩種類型的入口。如果要發出對郵件列表的確認,應該給出確定響應。在接收到這個消息后,主機將把郵件傳送到列表上所有的地址上去,如果沒有接收到確定響應,就會報告錯誤。例如,"550 That is a mail list, not a user name"。如果請求用于擴展一個用戶名,可能通過返回包括一個名字的列表來形成確定響應,如果沒有接收到確定響應,就會報告錯誤。(例如, "550 That is a user name, not a mailing list")。
  在多個響應的情況下(通常是對于EXPN而言的),每個應答指定一個郵箱。在模糊請求的情況下,例如"VRFY Smith",這里兩個Smith的響應必須是"553 User ambiguous"。

  確認用戶名的情況如下例所示:例3:
  確認用戶名
  S: VRFY Smith R: 250 Fred Smith <Smith@USC-ISIF.ARPA>
  或者
  S: VRFY Smith
  R: 251 User not local; will forward to <Smith@USC-ISIQ.ARPA>
  或者
  S: VRFY Jones
  R: 550 String does not match anything.
  或者
  S: VRFY Jones
  R: 551 User not local; please try <Jones@USC-ISIQ.ARPA>
  或者
  S: VRFY Gourzenkyinplatz
  R: 553 User ambiguous.

  郵箱列表要求多個響應的情況如下例所示:
  S: EXPN Example-People
  R: 250-Jon Postel <Postel@USC-ISIF.ARPA>
  R: 250-Fred Fonebone <Fonebone@USC-ISIQ.ARPA>
  R: 250-Sam Q. Smith <SQSmith@USC-ISIQ.ARPA>
  R: 250-Quincy Smith <@USC-ISIF.ARPA:Q-Smith@ISI-VAXA.ARPA>
  R: 250-<joe@foo-unix.ARPA>
  R: 250 <xyz@bar-unix.ARPA>
  或者
  S: EXPN Executive-Washroom-List
  R: 550 Access Denied to You.

  VERF和EXPN命令的字符串命令參數因為具體實現的不同而不能再加以限制了。在一些系統上,EXPN命令的參數可能是一個包含郵件列表的文件名,但是在Internet上有許多不同的文件結構。
  VRFY和EXPN命令在最小實現中并不包括,當它們實現時,它們也不要求被在傳送間實現。 
3.4. 發送信件(mailing)和獲得信件(sending) 
  SMTP的主要目的是將郵件發送到用戶的郵箱中。由一些主機提供的類似的功能是把郵件送至用戶的終端(如果用戶正打開終端)。將郵件送到用戶的郵箱中稱為發送信件(mailing);而送至用戶終端則稱之為獲得信件(sending)。因為在一些主機上,這兩者的實現十分類似,所以它們同時被放入了SMTP中。然而,獲得信件命令在SMTP的最小實現中是沒有的。用戶應該具有控制向終端上寫信息的能力。大部分主機允許用戶接受或者拒絕類似的信息。
  下面三個命令被定義來支持獲得信件。它們被用于郵件命令而不是MAIL命令,指示接收SMTP這種操作的特殊意義:
  SEND <SP> FROM:<reverse-path> <CRLF>
  SEND命令要求郵件內容直接傳送到用戶終端。如果用戶未打開終端(或者未接收終端信息),450響應將返回一個RCPT命令。如果信息被成功發送,此操作成功。 
  SOML <SP> FROM:<reverse-path> <CRLF> 
  Send或者MaiL命令要求將郵件內容直接發送到用戶的終端上(如果用戶在終端上)。如果用戶不在終端上,郵件內容直接進入郵箱。如果郵件被發送到用戶終端或者用戶信箱,發送操作成功。 
  SAML <SP> FROM:<reverse-path> <CRLF>
  Send和MaiL命令要求郵件內容直接發送到用戶終端上(如果用戶在終端上)。不管怎么樣,信件都會進入信箱。如果信件進入信箱,發送操作成功。
  用于MAIL命令的響應和這些命令的響應相同。  
3.5. 打開和關閉 
  當打開傳送通道時,要交換一些信息以確定雙方的身份。以下的命令是用于打開和關閉的:
  HELO <SP> <domain> <CRLF>
  QUIT <CRLF>
  在HELLO命令中,主機自己發送命令,此命令可以被解釋為:“你好,我是XX"。

  打開聯結的例子
  R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
  S: HELO USC-ISIF.ARPA
  R: 250 BBN-UNIX.ARPA

  關閉聯結的例子
  S: QUIT
  R: 221 BBN-UNIX.ARPA Service closing transmission channel
3.6. 轉發
  轉發路徑可能是如下格式:"@ONE,@TWO:JOE@THREE",在這里,ONE,TWO和THREE是主機。這種格式用于強調地址和路徑的區別。郵箱是絕對地址,路徑是關于如何到達的信息。這兩個概念不應該被混淆。
  概念上,轉發路徑的元素被移動到回復路徑作為從一個SMTP服務器到另一個SMTP服務器的信息。回復路徑是一個反向數據源路徑,例如從當前信息的位置到發起者的位置。當一個SMTP服務器從轉發路徑中刪除自己的標記并將它插入到回復路徑中時,它必須使用它發送環境能夠理解的名稱來進行,以防它的名稱在不同的環境中被理解為不同的名字。
  如果當SMTP接收到信息的轉發路徑的第一個元素不是此SMTP的標記時,此元素不從轉發路徑中刪除,而被用來決定下一個應該發送到的SMTP服務器。在任何情況下,SMTP都將自己的標記加入反向路徑中。
  使用源路徑時,接收SMTP接收轉發的郵件并發送到另一接收SMTP服務器上。接收服務器可以接受或拒絕轉發本地用戶的郵件。接收SMTP通過將它自己的標記從轉發路徑移至回復路徑的開始處來改變命令參數。這時,接收SMTP變成了發送SMTP,也就建立了到下一個轉發路徑中SMTP的通道,然后,它向這個SMTP發送郵件。
  在回復路徑上的頭一個主機應是發送SMTP命令的主機,在轉發路徑上第一個主機應是接收SMTP命令的主機。
  注意:轉發路徑和回復路徑出現在SMTP命令和應答中,但不一定要出現在信息中。也就是說,沒有必須要這樣的路徑特別這種格式出現在信息頭的"To:","From:"和"CC:"等域中。
   如果SMTP服務器接受了轉發任務,但后來它發現因為轉發路徑不正確或者其它原理無法發送郵件,它必須建立一"undeliverable mail"信號,將它此信號送到此信的發主者那里。
  此信號必須是從此主機的SMTP服務上發出的,當然了,此服務器不應該再報告出錯信息的錯誤。一種阻止這種出錯報告循環的情況是在信號的郵件命令的回復路徑上置空。在傳送此信息時,允許將回復路徑也置為空。一個MAIL命令后的回復路徑為空表現為如下形式:
  MAIL FROM:<>

  下例中顯示了不可傳送的郵件信息。此信息是對從HOSTW上的JOE發出的郵件經過在HOSTX需要經過HOSTZ到達HOSTY時出錯的回應。我們看到的例子是在HOSTX和HOSTY之間發生的。

  不可傳送郵件信息的例子
  S: MAIL FROM:<>
  R: 250 ok
  S: RCPT TO:<@HOSTX.ARPA:JOE@HOSTW.ARPA>
  R: 250 ok
  S: DATA
  R: 354 send the mail data, end with .
  S: Date: 23 Oct 81 11:22:33
  S: From: SMTP@HOSTY.ARPA
  S: To: JOE@HOSTW.ARPA
  S: Subject: Mail System Problem
  S:
  S: Sorry JOE, your message to SAM@HOSTZ.ARPA lost.
  S: HOSTZ.ARPA said this:
  S: "550 No Such User"
  S: .
  R: 250 ok
3.7. 域 
  域是最近被引入ARPA Internet郵件系統的。使用域可以使地址空間從一個平面的普通字符串主機名變成全局地址的一個層次結構。主機由一個域名取代,起始主機是由一系列元串組成,它們由逗號按最特殊到一般的順序排列。
  例如,"USC-ISIF.ARPA","Fred.Cambridge.UK"和"PC7.LCS.MIT.ARPA"可能是主機-域標識符。
  無論域名在SMTP中如何使用,只有正式的名稱才可以被使用,不可以使用假名或昵稱。
3.8. 改變角色
  TURN命令可以用來改變在傳輸信道上通信的程序的角色。如果程序A現在是發送SMTP,它發送TURN命令并接到OK應答(250)后,它就變為接收SMTP了。同理,程序B也可以從接收SMTP變為發送SMTP。若要拒絕改變角色,接收方可以發送502作為應答。
  注意:此命令是可選的。在使用TCP的傳輸信道時,一般不使用此命令。然而,當建立傳輸信道的代價比較大時,此命令很有用。例如,此命令可以支持一般公共交換電話系統作為傳輸信道。
4. SMTP說明 
4.1. SMTP命令 
4.1.1. 命令語法 
  SMTP命令定義了郵件傳輸或由用戶定義的系統功能。它的命令是由<CRLF>結束的字符串。而在帶有參數的情況下,命令本身由<SP>和參數分開,如果未帶參數可以直接和<CRLF>連接。郵箱的語法格式必須和接收站點的格式一致。下面討論SMTP命令和應答。
  發送郵件操作涉及到不同的數據對象,它們由不同的參數相互連接。回復路徑就是MAIL命令的參數,而轉發路徑則是RCPT命令的參數,郵件日期是DATA命令的參數。這些參數或者數據對象必須跟在命令后。這種模式也就要求有不同的緩沖區來存儲這些對象,也就是說,有一個回復路徑緩沖區,一個轉發路徑緩沖區,一個郵件內容緩沖區。特定的命令產生自己的緩沖區,或使一個或多個緩沖的內容被清除。
  HELLO (HELO)
  此命令用于向接收SMTP確認發送SMTP。參數域包括發送SMTP的主機名。接收SMTP通過連接確認命令來向發送SMTP確認接收SMTP。引命令和OK響應確認發送和接收SMTP進入了初始狀態,也就是說,沒有操作正在執行,所有狀態表和緩沖區已經被子清除。
  MAIL (MAIL) 
  此命令用于開始將郵件發送到一個多個郵箱中。參數域包括回復路徑。返回路徑中包括了可選的主機和發送者郵箱列表。當有主機列表時,它是一個回復路徑源,它說明此郵箱是由在表中的主機一一傳遞發送(第一個主機是最后一個接收到此郵件的主機)過來的。此表也有作向發送者返回非傳遞信號的源路徑。因為每個傳遞主機地址都被加在此表起始處,它就必須使用發送IPCE而不是接收IPCE(如果它們不是一個IPCE的話)清楚的名稱。一些出錯信息的回復路徑可能就是空的。
  此命令清除回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區,并且將此命令的回復路徑信息插入到回復路徑緩沖區中。
  RECIPIENT (RCPT)
  此命令用于確定郵件內容的唯一接收者;多個接收者將由多個此命令指定。轉發路徑中包括一個可選的主機和一個必須的目的郵箱。當出現主機列表時,這就是一個源路徑,它指明郵件必須向列表中的上一個主機發送。如果接收SMTP未實現郵件的傳遞發送,就會返回如未知本地用戶(550)的信息給用戶。
  當郵件被傳遞發送時,傳遞主機必須將自己的名稱由轉發路徑的開始處移至回復路徑的結束處。當郵件最終到達目的地時,接收SMTP將以它的主機郵件格式自己的名稱插入目標郵件中。例如,由傳遞主機A接收的帶有如下參數的郵件時,
  FROM:<USERX@HOSTY.ARPA>
  TO:<@HOSTA.ARPA,@HOSTB.ARPA:USERC@HOSTD.ARPA>
  將會變成如下形式:
  FROM:<@HOSTA.ARPA:USERX@HOSTY.ARPA>
  TO:<@HOSTB.ARPA:USERC@HOSTD.ARPA>.
  此命令導致它的轉發路徑參數加入轉發路徑緩沖區中。
  DATA (DATA)
  接收者將跟在命令后的行作為郵件內容。此命令導致此命令后的郵件內容加入郵件內容緩沖區。郵件內容可以包括所有128個ASCII碼字符。郵件內容由只包括一個句號的行結束,也就是如下的字符序列:"<CRLF>.<CRLF>",它指示了郵件的結束。
  郵件內容的結束指示要求接收者現在就處理保存的郵件內容。此過程將回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區的內容全部清空。如果操作成功,接收者必須返回OK應答;如果失敗也必須返回失敗應答。
  當接收SMTP收到一條信息時,無論是用作轉發還是此郵件已經到達目的地,它都必須在郵件內容的開始處加上時間戳這一行,這一行指示了接收到郵件主機和發出此郵件主機的標識,以及接收到郵件內容的時間和日期。轉發的信件將有多行這樣的時間戳。當接收SMTP作最后一站的傳送時,它將返回路徑信息行插入郵件中。此行包括了發送命令中的<reverse-path>的信息。在這里,最后一站的傳送的意思是郵件將被送到目的用戶手中,但在一些情況下,郵件可能需要更進一步的加工并由另外的郵件系統傳送。
  可能在返回路徑中的郵箱與實際發送的郵件不一致,這個情況可能發生在需要傳送一個特定的錯誤處理信箱而不是信件發送者那里。上面所述說明了,最后的郵件內容由一個返回路徑行,和在其后的一個或多個時間戳行構成。這些行后面是郵件內容的頭和體信息。
  當處理后面的郵件數據指示部分成功時就需要特定的說明。這種情況可能發生在發送SMTP發現當郵件需要傳送給多個用戶時,只能夠成功地向其中的一部分發送信息這種情況下。在這種情況下,必須對DATA命令發送OK應答,而接收SMTP組織并發送一個"不可傳遞郵件"信息到信息的發送者。在此信息中或者發送一個不成功接收者的列表,或者每次發送一個不成接收者,而發送多次。所有不可傳遞郵件信息由MAIL命令發送。
  返回路徑和接收時間戳例子
  Return-Path: <@GHI.ARPA,@DEF.ARPA,@ABC.ARPA:JOE@ABC.ARPA>
  Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST
  Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST
  Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST
  Date: 27 Oct 81 15:01:01 PST 
  From: JOE@ABC.ARPA 
  Subject: Improved Mailing System Installed 
  To: SAM@JKL.ARPA 

  This is to inform you that ... 
  SEND (SEND)
  此命令用于開始一個發送命令,將郵件發送到一個或多個終端上。參數域包括了一個回復路徑,此命令如果成功就將郵件發送到終端上了。 
  回復路徑包括一個可選的主機列表和發送者郵箱。當出現主機列表時,表示這是一個傳送路徑,郵件就是經過這個路徑上的每個主機發送到這里的(列表上第一個主機是最后經手的主機)。此表用于返回非傳遞信號到發送者。因為每個傳遞主機地址都被加在此表起始處,它就必須使用發送IPCE而不是接收IPCE(如果它們不是一個IPCE的話)清楚的名稱。一些出錯信息的回復路徑可能就是空的。
  此命令清除回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區,并且將此命令的回復路徑信息插入到回復路徑緩沖區中。
  SEND OR MAIL (SOML)
  此命令用于開始一個郵件操作將郵件內容傳送到一個或多個終端上,或者傳送到郵箱中。對于每個接收者,如果接收者終端打開,郵件內容將被傳送到接收者的終端上,否則就送到接收者的郵箱中。參數域包括回復路徑,如果成功地將信息送到終端或郵箱中此命令成功。
  回復路徑包括一個可選的主機列表和發送者郵箱。當出現主機列表時,表示這是一個傳送路徑,郵件就是經過這個路徑上的每個主機發送到這里的(列表上第一個主機是最后經手的主機)。此表用于返回非傳遞信號到發送者。因為每個傳遞主機地址都被加在此表起始處,它就必須使用發送IPCE而不是接收IPCE(如果它們不是一個IPCE的話)清楚的名稱。一些出錯信息的回復路徑可能就是空的。
  此命令清除回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區,并且將此命令的回復路徑信息插入到回復路徑緩沖區中。
  SEND AND MAIL (SAML)
  此命令用于開始一個郵件操作將郵件內容傳送到一個或多個終端上,并傳送到郵箱中。如果接收者終端打開,郵件內容將被傳送到接收者的終端上和接收者的郵箱中。參數域包括回復路徑,如果成功地將信息送到郵箱中此命令成功。
  回復路徑包括一個可選的主機列表和發送者郵箱。當出現主機列表時,表示這是一個傳送路徑,郵件就是經過這個路徑上的每個主機發送到這里的(列表上第一個主機是最后經手的主機)。此表用于返回非傳遞信號到發送者。因為每個傳遞主機地址都被加在此表起始處,它就必須使用發送IPCE而不是接收IPCE(如果它們不是一個IPCE的話)清楚的名稱。一些出錯信息的回復路徑可能就是空的。
  此命令清除回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區,并且將此命令的回復路徑信息插入到回復路徑緩沖區中。

  RESET (RSET)
  此命令指示當送郵件操作將被放棄。任何保存的發送者,接收者和郵件內容應該被拋棄,所有緩沖區和狀態表應該被清除,接收方必須返回OK應答。

  VERIFY (VRFY)
  此命令要求接收者確認參數是一個用戶。如果這是(已經知道的)用戶名,返回用戶的全名和指定的郵箱。此命令對回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區沒有影響。

  EXPAND (EXPN)
  此命令要求接收者確認參數指定了一個郵件發送列表,如果是一個郵件發送列表,就返回表中的成員。如果這是(已經知道的)用戶名,返回用戶的全名和指定的郵箱。此命令對回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區沒有影響。

  HELP (HELP)
  此命令導致接收者向HELP命令的發送者發出幫助信息。此命令可以帶參數,并返回特定的信息作為應答。此命令對回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區沒有影響。

  NOOP (NOOP) 
  此命令不影響任何參數和已經發出的命令。它只是說明沒有任何操作而不是說明接收者發送了一個OK應答。此命令對回復路徑緩沖區,轉發路徑緩沖區和郵件內容緩沖區沒有影響。

  QUIT (QUIT)
  此命令指示接收方必須發送OK應答然后關閉傳送信道。接收方在接到QUIT命令并做出響應之前不應該關閉通信信道。發送方在發送QUIT命令和接收到響應之前也不應該關閉信道。即使出錯,也不應該關閉信道。如果連接被提前關閉,接收方應該象接收到RSET命令一樣,取消所有等待的操作,但不恢復原先已經做過的操作。而發送方應該象接收到暫時錯誤(4XX)一樣假定命令和操作仍在支持之中。

  TURN (TURN)
  此命令指定接收方要么發送OK應答并改變角色為發送SMTP,要么發送拒絕信息并保持自己的角色。如果程序A現在是發送SMTP,它發出TURN命令后接收到OK(250)應答,它就變成了接收SMTP。程序A就進入初始狀態,好象通信信道剛打開一樣,這時它發送220準備好服務信號。如果程序B現在是接收SMTP,它發出TURN命令后接收到OK(250)應答,它就變成了發送SMTP。程序A就進入初始狀態,好象通信信道剛打開一樣,這時它準備接收220準備好服務信號。
若要拒絕改變角色,接收方可以發送502應答。
  對于這些命令的順序有一定的限制。對話的第一個命令必須是HELLO命令,此命令在此后的會話中也可以使用。如果HELLO命令的參數不可接受,必須由返回一個501失敗應答,同時接收到的SMTP必須保持在與剛才一致的狀態下。 NOOP,HELP,EXPN和VRFY命令可以在會話的任何時候使用。MAIL,SEND,SOML或SAML命令開始一個郵件操作。一旦開始了以后就要發送RCPT和DATA命令。郵件操作可以由RSET命令終止。在一個會話中可以有一個或多個操作。
  如果在操作開始參數不可接受,必須返回501失敗應答,同時接收到的SMTP必須保持在與剛才一致的狀態下。如果操作中的命令順序出錯,必須返回503失敗應答,同時接收到的SMTP必須保持在與剛才一致的狀態下。
會話的最后一個命令必須是QUIT命令。此命令在會話的其它時間不能使用。
4.1.2. COMMAND語法格式
  命令是由命令碼和其后的參數域組成的。命令碼是四個字母組成的,不區別大小寫。因為下面的命令的作用是相同的:
  MAIL Mail mail MaIl mAIl
  這對于引導任何參數值的標記也是適用的,如TO和to就是一樣的。命令碼和參數由一個或多個空格分開。然而在回復路徑和轉發路徑中的參數是區別大小寫的。特別是在一些主機上,"smith"和"Smith"就根本不是一個用戶。
參數域由不定長的字符串組成,它由<CRLF>結束,接收方在完全接收到此序列前不會采取任何行動。方括號代表可選的參數域。如果不選擇的話,系統選擇默認的設置。
  下面是SMTP命令: HELO <SP> <domain> <CRLF> MAIL <SP> FROM:<reverse-path> <CRLF>
RCPT <SP> TO:<forward-path> <CRLF>
DATA <CRLF>
RSET <CRLF>
SEND <SP> FROM:<reverse-path> <CRLF>
SOML <SP> FROM:<reverse-path> <CRLF>
SAML <SP> FROM:<reverse-path> <CRLF>
VRFY <SP> <string> <CRLF>
EXPN <SP> <string> <CRLF>
HELP [<SP> <string>] <CRLF>
NOOP <CRLF>
QUIT <CRLF>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费视频一区| www久久精品| 日韩欧美视频在线| 亚洲丝袜另类动漫二区| 日本亚洲三级在线| 色综合视频在线观看| 欧美本精品男人aⅴ天堂| 亚洲人成人一区二区在线观看| 免费xxxx性欧美18vr| 91黄色免费网站| 国产亚洲一二三区| 蜜桃精品视频在线观看| 在线亚洲一区观看| 国产精品美女一区二区三区| 精品在线视频一区| 91久久国产综合久久| 欧美激情一区在线观看| 激情欧美一区二区三区在线观看| 欧美日韩三级视频| 尤物视频一区二区| 99国产精品国产精品毛片| xvideos.蜜桃一区二区| 蜜臀91精品一区二区三区| 在线观看成人免费视频| 亚洲欧洲精品一区二区精品久久久 | 美女任你摸久久| 91国产丝袜在线播放| 中文字幕在线不卡国产视频| 国产东北露脸精品视频| 久久众筹精品私拍模特| 久久av资源网| 日韩精品中文字幕一区| 日韩高清一级片| 在线不卡免费av| 免费观看一级特黄欧美大片| 91精品国产免费| 蜜桃久久av一区| 精品88久久久久88久久久| 紧缚捆绑精品一区二区| 2023国产一二三区日本精品2022| 久久精品国产秦先生| 亚洲精品一区二区三区福利| 乱一区二区av| 国产日韩欧美精品电影三级在线| 成人视屏免费看| 国产精品久久久99| 91小视频免费观看| 亚洲一区二区不卡免费| 欧美精品久久久久久久多人混战 | 久久久噜噜噜久久中文字幕色伊伊 | 欧美无乱码久久久免费午夜一区| 亚洲一区二区在线播放相泽| 欧美精品久久99久久在免费线 | 国产精品911| 国产精品欧美一级免费| 色婷婷精品久久二区二区蜜臂av| 洋洋成人永久网站入口| 欧美一区二区播放| 国产精品一区一区三区| 欧美激情在线一区二区| 色综合久久88色综合天天6| 亚洲成人动漫在线免费观看| 日韩三级高清在线| 国产精品99久| 亚洲国产精品久久艾草纯爱| 欧美一区日韩一区| 成人网男人的天堂| 五月婷婷综合激情| 欧美国产综合色视频| 欧美在线不卡一区| 国产在线精品免费av| 亚洲美女在线一区| 精品久久久久久久人人人人传媒| 高清成人免费视频| 日日夜夜精品免费视频| 亚洲色图制服诱惑 | 欧美午夜片在线观看| 免费高清在线视频一区·| 国产欧美日韩三级| 欧美卡1卡2卡| www.一区二区| 久久精品国产网站| 亚洲男人天堂一区| 久久精品人人做人人爽97| 欧美影视一区在线| 不卡的电视剧免费网站有什么| 天堂在线一区二区| 亚洲欧美在线视频观看| 精品国内片67194| 欧美日韩中文字幕一区| 国产99久久久精品| 老司机精品视频一区二区三区| 自拍偷拍欧美精品| 久久久综合激的五月天| 欧美精品日韩一区| 91日韩在线专区| 国产精品456露脸| 日本在线不卡视频一二三区| 亚洲精品国产无天堂网2021| 欧美激情中文字幕| 久久久久久久久岛国免费| 日韩一区二区免费在线观看| 欧美中文字幕一区| 91丝袜美腿高跟国产极品老师| 国产很黄免费观看久久| 免费成人av资源网| 麻豆一区二区在线| 日本视频一区二区| 香蕉成人啪国产精品视频综合网| 一区二区三区精品在线| 亚洲精品乱码久久久久久黑人| 欧美激情一区二区三区在线| 久久综合久久鬼色| 久久综合色婷婷| 久久综合色播五月| 国产日产欧美一区| 久久久久久久性| 国产欧美日韩不卡免费| 国产日韩欧美电影| 国产精品久久久久久久久搜平片| 国产欧美一区视频| 欧美国产日产图区| 中文字幕中文字幕在线一区| 国产精品乱码一区二区三区软件| 久久精品水蜜桃av综合天堂| 国产亚洲欧美在线| 日本一区二区免费在线观看视频| 久久久99精品免费观看| 国产精品素人一区二区| 亚洲欧洲av在线| 亚洲黄一区二区三区| 亚洲影视在线播放| 三级在线观看一区二区 | 精品一区二区三区免费观看 | 国产在线精品一区二区夜色 | 一区二区三区欧美日韩| 一区二区成人在线观看| 亚洲不卡在线观看| 麻豆传媒一区二区三区| 国产精品香蕉一区二区三区| 懂色一区二区三区免费观看| 91网站最新地址| 91精品国产综合久久久久久久| 日韩免费看的电影| 国产精品日韩成人| 亚洲小说欧美激情另类| 久久国产精品72免费观看| 国产99久久久久| 欧美日韩日本视频| 久久久久综合网| 一区二区三区在线免费播放| 男男视频亚洲欧美| 豆国产96在线|亚洲| 欧美精品精品一区| 国产精品萝li| 麻豆高清免费国产一区| 成人av在线一区二区三区| 在线观看一区二区视频| 亚洲精品一区二区三区福利| 一区二区三区在线看| 国产精品99久久久久久久女警| 91成人在线免费观看| 精品国产精品一区二区夜夜嗨| 日韩理论片一区二区| 久久99在线观看| 日本二三区不卡| 日本一区二区三区视频视频| 日本sm残虐另类| 99久久国产免费看| 精品国产免费人成在线观看| 一区二区三区在线视频免费 | 亚洲bt欧美bt精品777| 国产黑丝在线一区二区三区| 制服丝袜激情欧洲亚洲| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩高清一区在线| 欧美日韩一区二区三区四区| ...xxx性欧美| 国产福利一区二区三区视频| 日韩一级黄色片| 亚洲午夜一区二区三区| 成人app网站| 国产亚洲欧洲997久久综合 | 欧美日韩国产综合久久| 亚洲欧美乱综合| 丁香婷婷深情五月亚洲| 精品国产一区二区精华| 五月天激情小说综合| 色偷偷一区二区三区| 中文字幕中文字幕在线一区 | 国产成人午夜视频| 精品美女被调教视频大全网站| 亚洲激情图片qvod| 色94色欧美sute亚洲线路二| 中文一区在线播放| 国产一区二区伦理| 国产日产欧美精品一区二区三区| 国内精品免费**视频| 久久婷婷色综合| 国产一区二区在线观看视频|