Download presentation
Presentation is loading. Please wait.
1
第 9 章 運用CDO物件寄發 電子郵件 製作
2
基本觀念 - 的相關協定 四種處理 訊息的相關協定(protocol): SMTP POP IMAP MIME
3
基本觀念 - E-mail的相關協定 SMTP
簡單信件傳輸協定(Simple Mail Transfer Protocol,SMTP)將規範郵件的傳送機制,定義於RFC 2821( 運用CDO物件處理 訊息的程式,將與SMTP 伺服器取得聯繫,將 傳送至提供服務的SMTP 伺服器,再將 傳送給負責接收的SMTP 伺服器,以便讓收信人經由POP或IMAP取得郵件。
4
基本觀念 - 的相關協定 POP POP稱之為郵局協定(Post Office Protocol),目前的版本為POP 3,定義於RFC 1939( 使用POP 3協定時,無法查詢收件資料夾以外的其他資料夾。
5
基本觀念 - 的相關協定 IMAP 網際網路訊息存取協定(Internet Message Access Protocol,IMAP)為接收訊息的進階協定,目前使用的版本為 IMAP4,定義於RFC 2060( 運用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物件用於處理 的寄送資料與內容,包含收件人、寄件人、信件主旨、內容…等,以及處理傳送 之伺服器設定的Configuration物件。
9
基本觀念 - 簡介CDO物件 Configuration物件
Configuration物件用於管理使用CDO物件的相關設定,傳送 時,將設定傳送 之伺服器的名稱、使用之連結埠與連線逾時時間…等。
10
基本觀念 - 簡介CDO物件 BodyPart物件 欲手動建立MIME格式的Message物件時,可使用BodyPart協助建立。
11
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
ASP網頁內運用CDO物件寄送 ,必須按照以下三個步驟: STEP 1、建立Configuration物件,完成使用 伺服器的相關設定 STEP 2、建立包含郵件內容的Message物件,並依序設定傳送郵件的寄件人、收件人、郵件主旨、寄送日期、信件內容 STEP 3、傳送信件
12
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
STEP 1、建立Configuration物件,完成使用 伺服器的相關設定 開始運用CDO物件寄發 前,必須先建立Configuration物件,語法如下: Set 物件變數 = Server.CreateObject("CDO.Configuration")
13
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
建立Configuration物件後,需取得Fields集合物件,並運用item方法設定傳送 之伺服器。 設定各欄位(參數)時,將依照以下語法運用『
14
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
下表將說明幾個常用的欄位。
15
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
STEP 2、建立包含郵件內容的Message物件,並依序設定傳送郵件的寄件人、收件人、郵件主旨、寄送日期、信件內容 處理 內容時,必須先建立Message物件,語法如下: Set 物件變數 = Server.CreateObject("CDO.Message")
16
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
建立Message物件後,接著,必須將處理寄送 相關設定之Configuration物件,設定給Message物件的Configuration屬性,如以下敘述: Set msg.Configuration = conf '將設定 相關設定的Configuration物件,設定給Message物件
17
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
Message物件的相關屬性列於下表:
18
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
19
運用CDO物件寄送E-mail - 用ASP網頁寄出信件
STEP 3、傳送信件 完成設定後,呼叫Send方法,便可開始傳送 ,如以下敘述。 msg.Send
20
運用CDO物件寄送E-mail - 為信件加上附件
欲將檔案附加到 裡,只要在建立Message物件後,呼叫AddAttachment方法即可,語法如下: Message物件.AddAttachment 檔案路徑與名稱[, 帳號[, 密碼]] 檔案路徑與名稱:欲建立為附件的檔案路徑與名稱。 帳號:選擇性參數。以URL路徑指定網頁做為附件時,伺服器要求的使用者帳號。 密碼:選擇性參數。以URL路徑指定網頁做為附件時,伺服器要求的帳號密碼。
21
寄送HTML格式的信件 - 以HTML語法建立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內容
檔案路徑與名稱: 欲建立為附件的檔案路徑與名稱。 引用名稱: 供 內HTML敘述引用圖檔的名稱。 引用型態:
24
寄送HTML格式的信件 - 以HTML語法建立E-mail內容
HTML敘述內,設定<IMG>標籤的src屬性時,必須以『cid:引用名稱』的方式引用圖檔,如以下敘述: <img src="cid:w2145" width="160">
25
寄送HTML格式的信件 - 以HTML語法建立E-mail內容
以下敘述則透過URL指定存在於網路上的檔案,將該圖檔加入 ,同樣以w2145的名稱引用。 URLPath = " msg.AddRelatedBodyPart URLPath, "w2145", 1
26
寄送HTML格式的信件 - 指定HTML網頁建立郵件
Message物件的CreateMHTMLBody方法可以運用URL指定網路上的網頁,然後以 寄出該網頁的連結。 優點: 可以避免將HTML標籤串連成字串建立 的內容時,導致過於冗長的敘述。 若設定 內容僅包含網頁的位址,並不包含網頁引用的所有資源, 的體積比較小。
27
寄送HTML格式的信件 - 指定HTML網頁建立郵件
以下為CreateMHTMLBody方法的呼叫語法: Message物件.CreateMHTMLBody 網頁的URL路徑[, 資源引用方式 [,帳號 [,密碼]]] 網頁的URL路徑 指定欲建立為 之網頁的URL路徑。 資源引用方式 設定 引用網頁相關連結資源的方式,所謂的資源意指引用的圖檔、背景音樂…等 。各設定值的意義請參考下一張投影片。
28
寄送HTML格式的信件 - 指定HTML網頁建立郵件
下表將說明各設定值的意義:
29
寄送HTML格式的信件 - 指定HTML網頁建立郵件
帳號 選擇性參數。存放網頁之伺服器要求的使用者帳號。若伺服器未要求,可省略。 密碼 選擇性參數。存放網頁之伺服器要求的帳號密碼。若伺服器未要求,可省略。
30
寄送HTML格式的信件 - 指定HTML網頁建立郵件
以下敘述將運用URL路徑指定網頁,做為 郵件的內容。 URLPath = " msg.CreateMHTMLBody URLPath, 31 '以URLPath引用的網頁做為 的內容,且設定 不包含引用的資源
31
寄送HTML格式的信件 - 手動運用HTML文件建立MIME郵件
的架構 MIME格式之 ,其架構分為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』。 若附加檔案為 內容的一部份,則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
Similar presentations