Sun Java System Messaging Server 6 2005Q4 管理指南

已實作的 LMTP 協定

本節提供 LMTP 對話範例,並提供該對話中顯示的說明。轉送器上的 LMTP 用戶端使用標準 LMTP 協定與後端儲存上的 LMTP 伺服器對話。但是,該協定要以特定方式使用。例如:


---> LHLO
<--- 250 OK

LHLO 訊息沒有採取任何動作。回覆始終是 250 OK


---> MAIL FROM: address size=messageSizeInBytes
<--- 250 OK

對創建者位址沒有進行任何檢查或轉換。size= 參數以位元組形式表示將要傳送的郵件的大小。此郵件大小與協定中顯示的郵件大小相同。郵件大小不必完全相同,但實際郵件大小不能超出此大小。LMTP 伺服器將按此大小分配記憶體緩衝區以接收郵件。


---> RCPT TO: uid+folder@domain xquota=size,number xdflg=xxx
<--- 250 OK

在收到收件者位址時不對其進行檢查,但是會建立一個收件者清單以便以後使用。請注意,對於主要網域中的 uids,位址的 @domain 部分可省略,+folder 部分是可選的。這與 MTA 中的郵件儲存通道所使用的位址格式相同。

xquota= 參數提供的是使用者郵件的配額,包含最大總計大小和最大郵件數目。MTA 提供在對使用者執行 LDAP 查詢以進行位址轉換時所擷取的資訊。此資訊用於使郵件儲存中的配額資訊與目錄保持同步。獲取配額資訊不會影響其他效能。

xdflg= 參數指定一個數字,該數字將被解譯為位元欄位。這些位元控制遞送郵件的方式。例如,值為 2 的位元 (如果設定) 將確保郵件的遞送,即使使用者超出配額。(請注意,xdflg 為內部參數,其中的位元會變更或增加,恕不另行通知。我們不支援使用此擴充的其他用戶端與我們的伺服器配合使用,也不支援將我們的用戶端與某些其他伺服器以及此參數配合使用。)

此互動作業可以重複多次,每個收件者一次。


--->DATA
---> <the message text>
--->.

然後,LMTP 用戶端將傳送整個郵件 (填滿點的),與 SMTP 的操作相同。郵件傳送完畢後,每行上將僅留有一個點 (.)。如果超出郵件大小,LMTP 伺服器將傳送:

<--- 500 message too big

並結束連線。

假定郵件已正確接收,則 LMTP 伺服器會將 RCPT TO: 行中給定的每個收件者的狀態傳回 LMTP 用戶端。例如,如果郵件遞送成功,則回應是:

<--- 250 2.5.0 address OK

其中,address 與其在 RCPT TO: 行上的顯示完全相同。

對話既可以使用其他 MAIL FROM: 行重複,或使用以下互動作業結束:


---> quit
<--- 221 OK

表 15–1 顯示每個收件者的可能狀態代碼。 在此三欄表格中,第一欄顯示短代碼,第二欄顯示等效的長代碼,第三欄顯示狀態文字。2.x.x 狀態代碼是成功代碼,4.x.x 代碼是可重試錯誤,5.x.x 代碼是不可重試錯誤。

表 15–1 收件者的 LMTP 狀態代碼

短代碼 

長代碼 

狀態文字 

250 

2.5.0 

確定 

420 

4.2.0 

電子信箱被鎖定 

422 

4.2.2 

超出配額 

420 

4.2.0 

電子信箱格式錯誤 

420 

4.2.0 

不支援的電子信箱 

430 

4.3.0 

IMAP IOERROR 

522 

5.2.2 

超出永久配額 

523 

5.2.3 

郵件太大 

511 

5.1.1 

電子信箱不存在 

560 

5.6.0 

郵件包含無效字符 

560 

5.6.0 

郵件包含 nl 

560 

5.6.0 

郵件標頭錯誤 

560 

5.6.0 

郵件無空行 

否則,需要變更電子信箱、原生 (和 UNIX) 以及檔案的遞送選項。這些規則的目標是產生將導致郵件透過相應的 LMTP 通道被傳送至後端伺服器的位址。所產生的位址是以下格式的來源路由位址:


@sourceroute:localpart@domain