本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 範本向 Amazon 傳送個人化電子郵件 SES API
您可以使用 CreateTemplateAPI操作來建立電子郵件範本。這些範本包括主旨行,以及電子郵件內文的文字和HTML部分。主旨和內文部分還可能包含專為每個收件人個人化的特定值。
在使用這些功能時有幾項限制和其他考量:
-
您可以在每個 中建立最多 20,000 個電子郵件範本 AWS 區域。
-
每個範本的大小上限為 500 KB,包括文字和HTML部分。
-
您可以在每個範本中加入不限數量的替換變數。
-
在每次對
SendBulkTemplatedEmail
操作的呼叫中,您可以傳送電子郵件至高達 50 個目的地。目的地包含收件人清單,包括 CC 和BCC收件人。您可以在對 的單一呼叫中聯絡的目的地數量API可能會受到您帳戶的最大傳送速率的限制。如需詳細資訊,請參閱管理您的 Amazon SES 傳送限制。
此節包含建立電子郵件範本與傳送個人化電子郵件的程序。
注意
本節中的程序假設您已安裝並設定 AWS CLI。如需安裝和設定 的詳細資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南 。
第 1 部分:設定轉譯失敗事件通知
如果您傳送的電子郵件包含無效的個人化內容,Amazon SES可能會接受訊息,但無法傳遞訊息。因此,如果您計劃傳送個人化電子郵件,您應該設定 Amazon 透過 Amazon SES傳送轉譯失敗事件通知SNS。當您收到轉譯失敗事件通知時,可找出哪些訊息包含無效的內容,修正問題後再次傳送訊息。
本節的程序為選用,但強烈建議使用。
若要設定轉譯失敗事件通知
-
建立 Amazon SNS主題。如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南中的建立主題。
-
訂閱 Amazon SNS主題。例如,如果您想要透過電子郵件接收轉譯失敗通知,請訂閱電子郵件端點 (也就是您的電子郵件地址) 至主題。
如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南中的訂閱主題。
-
完成 中的程序為事件發佈設定 Amazon SNS 事件目的地,以設定組態集,將轉譯失敗事件發佈至您的 Amazon SNS主題。
第 2 部分:建立電子郵件範本
在本節中,您可以使用 CreateTemplate API操作建立具有個人化屬性的新電子郵件範本。
此程序假設您已安裝並設定 AWS CLI。如需安裝和設定 的詳細資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南 。
若要建立範本
-
在文字編輯器中,建立新檔案。將以下程式碼貼到檔案。
{ "Template": { "TemplateName": "MyTemplate", "SubjectPart": "Greetings, {{name}}!", "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>", "TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}." } }
此程式碼包含下列屬性:
-
TemplateName – 範本的名稱。當您傳送電子郵件時,請參考此名稱。
-
SubjectPart – 電子郵件的主旨行。此屬性可能包含替換標籤。這些標籤使用以下格式:
{{tagname}}
。當您傳送電子郵件時,可以為每個目的地指定tagname
的值。上述範例包含兩個標籤:
{{name}}
和{{favoriteanimal}}
。 -
HtmlPart – 電子郵件的HTML內文。此屬性可能包含替換標籤。
-
TextPart – 電子郵件的文字內文。電子郵件用戶端未顯示HTML電子郵件的收件人會看到此版本的電子郵件。此屬性可能包含替換標籤。
-
-
自訂前述範例以符合您的需求,然後儲存檔案為
mytemplate.json
。 -
在命令列中,輸入下列命令,以使用
CreateTemplate
API操作建立新範本:aws ses create-template --cli-input-json file://mytemplate.json
第 3 部分:傳送個人化電子郵件
在建立電子郵件範本後,您可以使用它來傳送電子郵件。您可以使用兩種API操作來使用範本傳送電子郵件:SendTemplatedEmail
、 和 SendBulkTemplatedEmail
。SendTemplatedEmail
此操作有助於將自訂電子郵件傳送至單一目的地 (將收到相同電子郵件的「收件人」、「CC」和「BCC」收件人集合)。SendBulkTemplatedEmail
此操作對於在一次呼叫中將唯一電子郵件傳送至多個目的地至 Amazon SES 非常有用API。本節提供如何使用 AWS CLI 來使用這些操作傳送電子郵件的範例。
傳送範本電子郵件到單一目的地
您可以使用 SendTemplatedEmail
操作來傳送電子郵件至單一目的地。在 Destination
物件中的所有收件人將會收到相同的電子郵件。
若要傳送範本電子郵件到單一目的地
-
在文字編輯器中,建立新檔案。將以下程式碼貼到檔案。
{ "Source":"Mary Major <mary.major@example.com>", "Template": "MyTemplate", "ConfigurationSetName": "ConfigSet", "Destination": { "ToAddresses": [ "alejandro.rosalez@example.com" ] }, "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }" }
此程式碼包含下列屬性:
-
Source - 寄件者的電子郵件地址。
-
Template - 套用於電子郵件的範本名稱。
-
ConfigurationSetName – 傳送電子郵件時要使用的組態集名稱。
注意
建議您使用設定為將轉譯失敗事件發佈至 Amazon 的組態集SNS。如需詳細資訊,請參閱第 1 部分:設定轉譯失敗事件通知。
-
Destination - 收件人地址。您可以包含多個「收件人」、「CC」和「BCC」地址。當您使用
SendTemplatedEmail
操作時,所有收件人都會收到相同的電子郵件。 -
TemplateData – 包含鍵值對的逸出JSON字串。金鑰對應到範本中的變數 (例如
{{name}}
)。值則代表替換電子郵件中變數的內容。
-
-
變更上述步驟中的值以符合您的需求,然後除存檔案為
myemail.json
。 -
在命令列中,輸入以下命令來傳送電子郵件:
aws ses send-templated-email --cli-input-json file://myemail.json
傳送範本電子郵件到多個目的地
您可以使用 SendBulkTemplatedEmail
操作,在一次呼叫中將電子郵件傳送至數個目的地API。Amazon SES會傳送唯一的電子郵件給每個Destination
物件中的收件人。
若要傳送範本電子郵件到多個目的地
-
在文字編輯器中,建立新檔案。將以下程式碼貼到檔案。
{ "Source":"Mary Major <mary.major@example.com>", "Template":"MyTemplate", "ConfigurationSetName": "ConfigSet", "Destinations":[ { "Destination":{ "ToAddresses":[ "anaya.iyengar@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }" }, { "Destination":{ "ToAddresses":[ "liu.jie@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }" }, { "Destination":{ "ToAddresses":[ "shirley.rodriguez@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }" }, { "Destination":{ "ToAddresses":[ "richard.roe@example.com" ] }, "ReplacementTemplateData":"{}" } ], "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }" }
此程式碼包含下列屬性:
-
Source - 寄件者的電子郵件地址。
-
Template - 套用於電子郵件的範本名稱。
-
ConfigurationSetName – 傳送電子郵件時要使用的組態集名稱。
注意
建議您使用設定為將轉譯失敗事件發佈至 Amazon 的組態集SNS。如需詳細資訊,請參閱第 1 部分:設定轉譯失敗事件通知。
-
目的地 - 其中包含一個或多個目的地的陣列。
-
Destination - 收件人地址。您可以包含多個「收件人」、「CC」和「BCC」地址。當您使用
SendBulkTemplatedEmail
操作時,所有在相同Destination
物件中的收件人都會收到相同的電子郵件。 -
ReplacementTemplateData – 包含鍵值對的JSON物件。金鑰對應到範本中的變數 (例如
{{name}}
)。值則代表替換電子郵件中變數的內容。
-
-
DefaultTemplateData – 包含鍵值對的JSON物件。金鑰對應到範本中的變數 (例如
{{name}}
)。值則代表替換電子郵件中變數的內容。此物件包含備用資料。如果Destination
物件在ReplacementTemplateData
屬性中包含空JSON物件,則會使用DefaultTemplateData
屬性中的值。
-
-
變更上述步驟中的值以符合您的需求,然後除存檔案為
mybulkemail.json
。 -
在命令列中,輸入以下命令來傳送大量電子郵件:
aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json