?? 25.htm
字號:
<p>電子郵件的標準格式 (RFC 822)</p>
<p> </p>
<p>除了由一個Internet用戶傳遞給另一個用戶的信息之外,電子郵件中還必須包含附加的服務信息。SMTP服務器利用這些信息來傳遞郵件,而客戶端的郵件接收軟件則利用這些信息來對郵件進行分類。這些附加的數據用信頭的形式被包含在郵件主體中。郵件正文則緊隨其后。如果你是用Outlook Express,用你的鼠標右鍵點一封郵件,然后選取“屬性”,你就可以看到信頭是什么樣的了。如下圖: </p>
<p></p>
<p> </p>
<p></p>
<p>在“詳細資料”標簽頁中的文本就是郵件的信頭。如果你想看郵件的所有內容,只須點選一下“郵件源文件...”按鈕。對普通用戶而言,郵件信頭一點都不吸引人。但是如果你想開發互聯網應用程序的話,你就不能不對此有所了解。如果你不遵守下面這些簡單的規則,只能導致程序的失敗。</p>
<p>在這里你能找到建立信頭的規則,信頭每個字段的目的,所運用的語法以及數據格式等等內容。RFC822是一個大文件,在這里我們無法包含該文件的所有細節。你可以把本文的內容當作是一個快速入門,在多數情況下這已經很足夠了。想知道該文件的所有內容,就把這個文件下載回去慢慢咀嚼吧。</p>
<p></p>
<p>每封郵件都有兩個部分:信頭和主體。郵件主體就是你發送給收件人的數據(包括文本或文件)信頭是一系列的字段(Fields)。一個空字符串將主體同信頭分開,也就是說一個空字符串標記了信頭的結束。在VB中,空字符串可寫成vbCrLf + vbCrLf. 通過InStr函數你可以很方便地把它找出來。例如: </p>
<p></p>
<p>intBorderLine = InStr(1, strMessage, vbCrLf + vbCrLf) </p>
<p></p>
<p>信頭部分的字段可分為兩類。一類是由你的電子郵件程序產生的,另一類是郵件通過SMTP服務器時被加上的。在所有被SMTP服務器加上的字段中,對我們而言最重要的是Message-Id字段。這個字段是由你傳向的SMTP服務器加上的。這個一個唯一的ID號。你可用這個號碼作為郵件的編號。</p>
<p></p>
<p>下表列出了可由用戶的郵件程序控制的信頭字段。這并不意味著所有的字段都是必須的。實際上可以忽略形成信頭這一步驟而只發送正文。讓你的SMTP服務器為你加上最起碼的必需字段。</p>
<p></p>
<p>信頭字段 目的 </p>
<p>From 郵件作者 </p>
<p>Sender 發信人 </p>
<p>Reply-To 回郵地址 </p>
<p>To 收信人地址 </p>
<p>CC 另一個收信人地址 </p>
<p>BCC 收信人地址,但這個收信人看不到其它收信人的地址。 </p>
<p>Subject 主題 </p>
<p>Comments 備注 </p>
<p>Keywords 關鍵字,用來進一步搜索郵件 </p>
<p>In-Reply-To 被當前郵件回復的郵件的ID </p>
<p>References 幾乎同In-Reply-To一樣 </p>
<p>Encrypted 加密郵件的加密類型 </p>
<p>Date 發信日期 </p>
<p>表1. 郵件信頭字段</p>
<p> </p>
<p></p>
<p>建立信頭的規則很簡單。用冒號將字段名同字段值分開。每個字段從一個新的字符串開始,但是字段值可能會占用幾個字符串,這取決于SMTP服務器對字符串長度的限制。</p>
<p></p>
<p>不幸的是,RFC822推薦的日期和時間格式同VB不兼容。當我們編輯郵件時,我們得用FORMAT函數例如: </p>
<p></p>
<p>Format(Now,"ddd, dd mmm yyyy hh:mm:ss") & " GMT +0400" </p>
<p></p>
<p>盡管如此,為了將Internet的日期/時間轉換成VB的日期類型,你有必要開發你自己的函數或是調用WinInet API中的InternetTimeToSystemTime函數。如果想知道更多這方面的規定,讀讀RFC822吧。</p>
<p></p>
<p>除了標準字段外,信頭還可以包含用戶自定義的字段。這些用戶自定義的字段名必須由X開始。例如: </p>
<p></p>
<p>X-Mailer: Microsoft Outlook Express 4.72.2106.4 </p>
<p></p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -