EAI

维基百科,自由的百科全书
跳转至: 导航搜索
Confusion grey.svg
提示:本条目的主题不是企业应用集成

EAIE-mail address Internationalization)實作

傳統的 SMTP[编辑]

相關的 RFC 編號 標題
RFC 5321 Simple Mail Transfer Protocol
RFC 5248 A Registry for SMTP Enhanced Mail System Status Codes
RFC 4954 SMTP Service Extension for Authentication

CNNIC

RFC 4952 Overview and Framework for Internationalized Email[编辑]

RFC 5335 Internationalized Email Headers[编辑]

RFC 5335 最重要的在兩個部份:

  1. 針對 UTF8 的 Email Address 和 ALT-ADDRESS (RFC 5335) 在郵件表頭中 (RFC 5322) 的表示;
  2. 對郵件本文中的訊息格式新增了一個類別

兩個部份描决如下。

Email 位址 規範[编辑]

  mailbox        =  name-addr / addr-spec / utf8-addr-spec   ; 傳統的郵件格式,本處內容可參閱 RFC 5322
  angle-addr=/ [CFWS] "<" utf8-addr-spec [ alt-address ] ">" ; EAI 相容的 Email 位址格式
                    [CFWS] / obs-angle-addr
  utf8-addr-spec =  utf8-local-part "@" utf8-domain          ; UTF8_username@UTF8_Domain_Name
  alt-address    =  FWS "<" addr-spec ">"                    ; 空格 (FWS, Folding White Space) 後接傳統的 ASCII 的
                                                             ; Email 格式
  "DISPLAY_NAME" <ASCII@ASCII>                               ; 傳統的郵件格式
  "DISPLAY_NAME" <non-ASCII@non-ASCII>                       ; "客服" <客服@台灣網路資訊中心.tw>
                                                             ; 此處沒有 ALT-ADDRESS,遇到 Downgraded 時可能會被退信
  "DISPLAY_NAME" <non-ASCII@non-ASCII <ASCII@ASCII>>         ; "客服" <客服@台網中心.tw <service@twnic.net.tw>>

Message/Global[编辑]

傳統的電子郵件郵件的本文常會出現許多不同的 message type,例如:

Content-Type: message/delivery-status               ; RFC 3464,傳遞狀態通知所用之 message/sub-type

Reporting-MTA: dns; twnic.net.tw                    ; SendmailDSN 的報告格式
Received-From-MTA: DNS; pc155.twnic.net.tw
Arrival-Date: Mon, 10 Nov 2008 09:18:54 +0800

Final-Recipient: RFC822; ggg@oapfopodpfo.com
Action: failed
Status: 5.1.2
Remote-MTA: DNS; oapfopodpfo.com
Diagnostic-Code: SMTP; 550 Host unknown
Last-Attempt-Date: Mon, 10 Nov 2008 09:18:57 +0800—mAA1IvFv011047.1226279937/twnic.net.tw             ; boundary,用於郵件本文中的區段標式
Content-Type: message/rfc822                         ; RFC 2045 & RFC 2046,一種MIME 的封裝格式
Content-Transfer-Encoding: 7bit                      ; 這個區段中的資料為 7bit

Return-Path: <abelyang@twnic.net.tw>
Received: from xxx (xxx.twnic.net.tw [211.72.211.155])
        (authenticated bits=0)
        by twnic.net.tw (8.13.8/8.13.8) with ESMTP id mAA1IrFv011039
        for <ggg@oapfopodpfo.com>; Mon, 10 Nov 2008 09:18:54 +0800
Message-ID: <A4A9D3936A144323A0ACDECD700B2A0F@abelPC>
From: "YYY" <xxx@twnic.net.tw>
To: <ggg@oapfopodpfo.com>
Subject: ppp
Date: Mon, 10 Nov 2008 09:18:23 +0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
        boundary="----=_NextPart_000_0047_01C94315.47D8E220"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Windows Mail 6.0.6001.18000
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049

從以上我們可以看到,一封傳統的郵件 message/rfc822 的 MIME 封裝,這個封裝依標準而言,僅能存放 7bit 為主的資料。
但在 RFC 5335 允許了它可以用 message/global 的訊息類型來放 UTF8 的編碼,尤其是關於 EAI Email 位址的相關欄位。
當您的 MTA 在實作 EAI 時,原來的 Message Media Type 中的 message/rfc822 在含有 UTF8 的位址資訊時,需改為 message/global

RFC 5336 SMTP Extension for Internationalized Email Addresses[编辑]





RFC 5337 Internationalized Delivery Status and Disposition Notifications[编辑]

此篇 RFC 主要根據 RFC 3464 An Extensible Message Format for Delivery Status Notifications 而來,因為原來的
RFC 3464 對於傳遞狀態通知主要描述於 7bit 的郵件位址上,但是在 EAI 的需求下,Email 位址會出現 UTF8 的資料,
且位址格式 angle-addr ( <addr-spec <alt-address>> ) 更會形成描述上的問題。

DSN 之目的如同其名,寄件人可以在信件發出後,可以收到一個傳遞狀態通知,告知寄件人這封信巳被郵件主機:

送出 (SUCCESS) 
傳送失敗 (FAILURE)
延遲 (DELAY)
不使用 DSN (NEVER) 


此外,我們必需提醒的,並不是所有的 MTA 皆支援 DSN,但 DSN 在許多 SMTP 的傳送過程中卻是無所不在的。

SMTP 協議階段的 DSN[编辑]

RFC 3464 An Extensible Message Format for Delivery Status Notifications[编辑]

C:ehlo twnic.net.tw
S:250-twnic.net.tw Hello twnic.net.tw [211.72.210.250], pleased to meet you
S:250-ENHANCEDSTATUSCODES
S:250-PIPELINING
S:250-8BITMIME
S:250-SIZE
S:250-DSN
S:250-ETRN
S:250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
S:250-STARTTLS
S:250-DELIVERBY
S:250 HELP
C:mail from: <xxx@twnic.net.tw>
S:250 2.1.0 <xxx@twnic.net.tw>... Sender ok
C:rcpt to: <yyy@twnic.net.tw> NOTIFY=FAILURE,RELAY ORCPT=rfc822;zzz@twnic.net.tw
S:250 2.1.5 <yyy@twnic.net.tw>... Recipient ok
C:data
S:354 Enter mail, end with "." on a line by itself
C:Subject: 123

ABC
NOTIFY 什麼情況下要做通知
ORCPT  通知什麼人


根據上列,我們可以知道 DSN 主要使用於要知道收件人 (RCPT TO) 的寄送情形,若收件人有多人時,即需對不同的收
件人進行 DSN 的設置,但是有可能收件人的郵件伺服器不支援 DSN,這樣的情況下發送端的郵件伺服器僅能知道它把
信給對方了,而不知最後實際收件人是否真的收到信件。以下是收件人的郵件伺服器不支援 DSN 的一個例子:

  ----- The following addresses have delivery notifications -----
RECIPIENT  (relayed to non-DSN-aware mailer)

  ----- Transcript of session follows -----
RECIPIENT relayed; expect no further notifications



如果收件人的郵件伺服器支援 DSN,則它在收下郵件後會發送收下的過程回應給送信端的郵件伺服器其處理結果:

The original message was received at Mon, 10 Nov 2008 15:47:16 +0800
from twnic.net.tw [211.72.210.250]

 ----- The following addresses had successful delivery notifications -----
<yyy@twnic.net.tw>  (successfully delivered to mailbox)


此封回應的郵件會有一份附件,其附件內容請參考 DSN Report Header

EAI DSN[编辑]

DSN Report Header[编辑]

Downgraded [编辑]

POPIMAP[编辑]

Deploy Guild Line[编辑]

EAI 驗證服務[编辑]

EAI 討論區[编辑]

其他相關協議[编辑]

  • RFC 1123 – Requirements for Internet Hosts—Application and Support (STD 3)
  • RFC 1870 – SMTP Service Extension for Message Size Declaration (оbsoletes: RFC 1653)
  • RFC 2476 – Message Submission
  • RFC 2505 – Anti-Spam Recommendations for SMTP MTAs (BCP 30)
  • RFC 5321 – The Simple Mail Transfer Protocol (obsoletes RFC 821 aka STD 10, RFC 974, and RFC 1869, RFC 2821)
  • RFC 5322 – Internet Message Format (obsoletes RFC 822 aka STD 11, and RFC 2822)
  • RFC 2920 – SMTP Service Extension for Command Pipelining (STD 60)
  • RFC 3030 – SMTP Service Extensions for Transmission of Large and Binary MIME Messages
  • RFC 3207 – SMTP Service Extension for Secure SMTP over Transport Layer Security (obsoletes RFC 2487)
  • RFC 3461 – SMTP Service Extension for Delivery Status Notifications (obsoletes RFC 1891)
  • RFC 3462 – The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages (obsoletes RFC 1892)
  • RFC 3463 – Enhanced Status Codes for SMTP (obsoletes RFC 1893 )
  • RFC 3464 – An Extensible Message Format for Delivery Status Notifications (obsoletes RFC 1894)
  • RFC 3834 – Recommendations for Automatic Responses to Electronic Mail
  • RFC 4409 – Message Submission for Mail (obsoletes RFC 2476)
  • RFC 4952 – Overview and Framework for Internationalized E-mail
  • RFC 4954 – SMTP Service Extension for Authentication (obsoletes RFC 2554)
  • RFC 5068 – E-mail Submission Operations: Access and Accountability Requirements (BCP 134)

参见[编辑]

外部链接[编辑]