1 / 40

第 9 章 運用 CDO 物件寄發 電子郵件

第 9 章 運用 CDO 物件寄發 電子郵件. 製作. 基本觀念 - E-mail 的相關協定. 四種處理 E-mail 訊息的相關協定( protocol ): SMTP POP IMAP MIME. 基本觀念 - E-mail 的相關協定. SMTP 簡單信件傳輸協定( Simple Mail Transfer Protocol , SMTP )將規範郵件的傳送機制,定義於 RFC 2821 ( http://www.ietf.org/rfc/rfc2821.txt )。

zada
Download Presentation

第 9 章 運用 CDO 物件寄發 電子郵件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 9 章 運用CDO物件寄發電子郵件 製作

  2. 基本觀念- E-mail的相關協定 • 四種處理E-mail訊息的相關協定(protocol): • SMTP • POP • IMAP • MIME

  3. 基本觀念- E-mail的相關協定 • SMTP • 簡單信件傳輸協定(Simple Mail Transfer Protocol,SMTP)將規範郵件的傳送機制,定義於RFC 2821(http://www.ietf.org/rfc/rfc2821.txt)。 • 運用CDO物件處理E-mail訊息的程式,將與SMTP 伺服器取得聯繫,將E-mail傳送至提供服務的SMTP 伺服器,再將E-mail傳送給負責接收的SMTP 伺服器,以便讓收信人經由POP或IMAP取得郵件。

  4. 基本觀念- E-mail的相關協定 • POP POP稱之為郵局協定(Post Office Protocol),目前的版本為POP 3,定義於RFC 1939(http://www.ietf.org/rfc/rfc1939.txt),POP規範使用者取得E-mail伺服器上信件的機制。 • 使用POP 3協定時,無法查詢收件資料夾以外的其他資料夾。

  5. 基本觀念- E-mail的相關協定 • IMAP 網際網路訊息存取協定(Internet Message Access Protocol,IMAP)為接收訊息的進階協定,目前使用的版本為 IMAP4,定義於RFC 2060(http://www.ietf.org/rfc/rfc2060.txt)。 • 運用IMAP協定時,必須確認郵件伺服器支援這個協定。

  6. 基本觀念- E-mail的相關協定 • MIME MIME為多用途的網際網路信件擴充標準(Multipurpose Internet Mail Extensions),將規範傳輸內容的訊息、附件及其它內容的格式,與MIME相關的標準文件有RFC 822、RFC 2045、RFC 2046和RFC 2047。

  7. 基本觀念- 簡介CDO物件 • CDO物件的全名為Collaboration Data Objects,程式設計師可運用CDO物件,為ASP網頁建立郵件(Messaging)和共同作業(Collaboration)功能。

  8. 基本觀念- 簡介CDO物件 • Message物件 Message物件用於處理E-mail的寄送資料與內容,包含收件人、寄件人、信件主旨、內容…等,以及處理傳送E-mail之伺服器設定的Configuration物件。

  9. 基本觀念- 簡介CDO物件 • Configuration物件 Configuration物件用於管理使用CDO物件的相關設定,傳送E-mail時,將設定傳送E-mail之伺服器的名稱、使用之連結埠與連線逾時時間…等。

  10. 基本觀念- 簡介CDO物件 • BodyPart物件 欲手動建立MIME格式的Message物件時,可使用BodyPart協助建立。

  11. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • ASP網頁內運用CDO物件寄送E-mail,必須按照以下三個步驟: STEP 1、建立Configuration物件,完成使用E-mail伺服器的相關設定 STEP 2、建立包含郵件內容的Message物件,並依序設定傳送郵件的寄件人、收件人、郵件主旨、寄送日期、信件內容 STEP 3、傳送信件

  12. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • STEP 1、建立Configuration物件,完成使用E-mail伺服器的相關設定 • 開始運用CDO物件寄發E-mail前,必須先建立Configuration物件,語法如下: Set 物件變數 = Server.CreateObject("CDO.Configuration")

  13. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • 建立Configuration物件後,需取得Fields集合物件,並運用item方法設定傳送E-mail之伺服器。 • 設定各欄位(參數)時,將依照以下語法運用『http://schemas.microsoft.com/cdo/configuration/』名稱空間指定。 http://schemas.microsoft.com/cdo/configuration/欄位名稱

  14. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • 下表將說明幾個常用的欄位。

  15. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • STEP 2、建立包含郵件內容的Message物件,並依序設定傳送郵件的寄件人、收件人、郵件主旨、寄送日期、信件內容 • 處理E-mail內容時,必須先建立Message物件,語法如下: Set 物件變數 = Server.CreateObject("CDO.Message")

  16. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • 建立Message物件後,接著,必須將處理寄送E-mail相關設定之Configuration物件,設定給Message物件的Configuration屬性,如以下敘述: Set msg.Configuration = conf '將設定E-mail相關設定的Configuration物件,設定給Message物件

  17. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • Message物件的相關屬性列於下表:

  18. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • 以下敘述將設定欲寄送E-mail的相關資料。

  19. 運用CDO物件寄送E-mail- 用ASP網頁寄出信件 • STEP 3、傳送信件 完成設定後,呼叫Send方法,便可開始傳送E-mail,如以下敘述。 msg.Send

  20. 運用CDO物件寄送E-mail- 為信件加上附件 • 欲將檔案附加到E-mail裡,只要在建立Message物件後,呼叫AddAttachment方法即可,語法如下: Message物件.AddAttachment 檔案路徑與名稱[, 帳號[, 密碼]] • 檔案路徑與名稱:欲建立為附件的檔案路徑與名稱。 • 帳號:選擇性參數。以URL路徑指定網頁做為附件時,伺服器要求的使用者帳號。 • 密碼:選擇性參數。以URL路徑指定網頁做為附件時,伺服器要求的帳號密碼。

  21. 寄送HTML格式的信件- 以HTML語法建立E-mail內容 • 欲寄送一封圖文並茂的E-mail,可以運用HTML語法建立信件內容,但內容必須設定給Message物件的HTMLBody屬性,語法如下: Message物件.HTMLBody = HTML格式的字串

  22. 寄送HTML格式的信件- 以HTML語法建立E-mail內容 • 若內容包含圖片,可以呼叫Message物件的AddRelatedBodyPart方法,以MIME標準的關連內容之方式將圖檔加入郵件(Content-Type將被設定為multipart/related),語法如下: Message物件. AddRelatedBodyPart 檔案路徑與名稱, 引用名稱, 引用型態 [, 帳號[, 密碼]]

  23. 寄送HTML格式的信件- 以HTML語法建立E-mail內容 • 檔案路徑與名稱: 欲建立為附件的檔案路徑與名稱。 • 引用名稱: 供E-mail內HTML敘述引用圖檔的名稱。 • 引用型態:

  24. 寄送HTML格式的信件- 以HTML語法建立E-mail內容 • HTML敘述內,設定<IMG>標籤的src屬性時,必須以『cid:引用名稱』的方式引用圖檔,如以下敘述: <img src="cid:w2145" width="160">

  25. 寄送HTML格式的信件- 以HTML語法建立E-mail內容 • 以下敘述則透過URL指定存在於網路上的檔案,將該圖檔加入E-mail,同樣以w2145的名稱引用。 URLPath = "http://bitc.myweb.hinet.net/books/images/A4033.jpg" msg.AddRelatedBodyPart URLPath, "w2145", 1

  26. 寄送HTML格式的信件- 指定HTML網頁建立郵件 • Message物件的CreateMHTMLBody方法可以運用URL指定網路上的網頁,然後以E-mail寄出該網頁的連結。 • 優點: • 可以避免將HTML標籤串連成字串建立E-mail的內容時,導致過於冗長的敘述。 • 若設定E-mail內容僅包含網頁的位址,並不包含網頁引用的所有資源,E-mail的體積比較小。

  27. 寄送HTML格式的信件- 指定HTML網頁建立郵件 • 以下為CreateMHTMLBody方法的呼叫語法: Message物件.CreateMHTMLBody 網頁的URL路徑[, 資源引用方式 [,帳號 [,密碼]]] • 網頁的URL路徑 指定欲建立為E-mail之網頁的URL路徑。 • 資源引用方式 設定E-mail引用網頁相關連結資源的方式,所謂的資源意指引用的圖檔、背景音樂…等 。各設定值的意義請參考下一張投影片。

  28. 寄送HTML格式的信件- 指定HTML網頁建立郵件 • 下表將說明各設定值的意義:

  29. 寄送HTML格式的信件- 指定HTML網頁建立郵件 • 帳號 選擇性參數。存放網頁之伺服器要求的使用者帳號。若伺服器未要求,可省略。 • 密碼 選擇性參數。存放網頁之伺服器要求的帳號密碼。若伺服器未要求,可省略。

  30. 寄送HTML格式的信件- 指定HTML網頁建立郵件 • 以下敘述將運用URL路徑指定網頁,做為E-mail郵件的內容。 URLPath = "http://bitc.myweb.hinet.net/books/database/A4033.htm" msg.CreateMHTMLBody URLPath, 31 '以URLPath引用的網頁做為E-mail的內容,且設定E-mail不包含引用的資源

  31. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • E-mail的架構 MIME格式之E-mail,其架構分為Header與Content兩大部分。 如下圖所示:

  32. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • Header(郵件標題)- 郵件標題所包含的標準內容,說明如下表:

  33. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • Content(郵件內容)- 包含郵件內文(Text)與附件(Attachment)兩個部分。 • 郵件內容的顯示格式,將依照Header的Content-Type指定之方式呈現。 • 當郵件內容格式為RTF(Rich Text Format),或者包含附件時,Content-Type將設定為『multipart/alternative』。 • 若附加檔案為E-mail內容的一部份,則Content-Type應設定為『multipart/related』。

  34. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • 運用BodyPart處理郵件內容 • 取得Message物件的BodyPart物件,語法如下: Set BodyPart物件 = Message物件.BodyPart • 在BodyPart物件的BodyParts集合內,建立新的BodyPart物件,並傳回該物件,語法如下: Set BodyPart物件 = Message物件.AddBodyPart

  35. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • Charset BodyPart物件包含內容使用的字元集(編碼)。若使用繁體中文,應設定為Big5。 • ContentMediaType 設定BodyPart物件包含之內容的型態與子型態,以指定內容的性質。各種型態內容設定值之意義請參考下一章投影片。

  36. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • 下表為各種型態內容設定值之意義:

  37. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • ContentTransferEncoding 指定BodyPart物件包含內容使用的編碼,各編碼的意義說明於下表:

  38. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • 將檔案內容匯入BodyPart物件 • 步驟如下: • STEP 1、取得包含BodyPart物件已解碼內容的Stream物件 呼叫BodyPart物件的GetDecodedContentStream方法,語法如下: Set Stream物件 = BodyPart物件.GetDecodedContentStream

  39. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • STEP 2、呼叫Stream物件LoadFromFile方法載入指定檔案 以下語法為呼叫Stream物件的LoadFromFile方法,將檔案載入Stream物件。 Stream物件.LoadFromFile 檔案路徑與名稱 • 檔案路徑與名稱 欲載入Stream物件之檔案的儲存位置路徑與名稱。

  40. 寄送HTML格式的信件- 手動運用HTML文件建立MIME郵件 • STEP 3、呼叫Stream物件的Flush方法更新Stream物件的內容 將檔案載入Stream物件後,需呼叫Flush方法更新內容Stream物件內容,語法如下: Stream物件.Flush

More Related