本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用清單管理功能
Amazon SES 提供清單管理功能,這表示客戶可以管理自己的郵寄清單,稱為聯絡人清單。聯絡人清單可讓您用來儲存已訂閱特定主題的所有聯絡人。聯絡人是接收您電子郵件的終端使用者。主題是清單中的興趣群組、主題或標籤。清單可以有多個主題。
您可以使用 Amazon SES API v2 中的 ListContacts
作業,擷取已訂閱特定主題的所有聯絡人清單,且可以使用 SendEmail
作業傳送電子郵件給這些聯絡人。
如需訂閱管理功能的相關資訊,請參閱「使用訂閱管理功能」。
清單管理概觀
使用清單管理功能時,應考量下列因素:
-
您可以在建立清單時指定清單主題。
-
每個 只允許一個聯絡人清單 AWS 帳戶。
-
一個清單最多可以有 20 個主題。
-
您可以更新現有的聯絡人清單,包括為清單新增主題、新增或刪除清單中的聯絡人,以及更新清單或主題的聯絡人偏好設定。
-
您可以更新主題中繼資料,例如主題顯示名稱或說明。
-
您可以取得聯絡人清單中的聯絡人清單、訂閱某個主題的聯絡人、取消訂閱某個主題的聯絡人,以及取消訂閱清單中所有主題的聯絡人。
-
您可以使用
CreateImportJob
API 將現有的聯絡人清單匯入 Amazon SES。 -
如果將電子郵件傳送給您聯絡人清單上未訂閱的聯絡人,Amazon SES 會將電子郵件退信。如需詳細資訊,請參閱「使用訂閱管理功能」。
-
每個聯絡人都可以有相關聯的屬性,您可以用來儲存該聯絡人的相關資訊。
設定清單管理功能
您可以使用下列作業來設定清單管理功能。如需聯絡人清單和聯絡人作業的完整清單,請參閱 Amazon SES API v2 參考資料。
建立聯絡人清單
您可以使用 Amazon SES API v2 中的 CreateContactList
作業來建立聯絡人清單。您可以使用 AWS CLI快速且輕鬆地設定此設定。如需安裝和設定 的詳細資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南。
使用 建立聯絡人清單 AWS CLI
-
在命令列中輸入以下命令:
aws sesv2 create-contact-list --cli-input-json file://
CONTACT-LIST-JSON
在上述命令中,以
CreateContactList
請求的 JSON 檔案路徑取代CONTACT-LIST-JSON
。請求的
CreateContactList
輸入 JSON 檔案範例如下:{ "ContactListName": "ExampleContactListName", "Description": "Creating a contact list example", "Topics": [ { "TopicName": "Sports", "DisplayName": "Sports Newsletter", "Description": "Sign up for our free newsletter to receive updates on all sports.", "DefaultSubscriptionStatus": "OPT_OUT" }, { "TopicName": "Cycling", "DisplayName": "Cycling newsletter", "Description": "Never miss a cycling update by subscribing to our newsletter.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "NewProducts", "DisplayName": "New products", "Description": "Hear about new products by subscribing to this mailing list.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "DailyUpdates", "DisplayName": "Daily updates", "Description": "Start your day with sport updates, Monday through Friday.", "DefaultSubscriptionStatus": "OPT_OUT" } ] }
建立聯絡人
您可以使用 Amazon SES API v2 中的 CreateContact
作業來建立聯絡人。您可以使用 AWS CLI快速且輕鬆地設定此設定。如需安裝和設定 的詳細資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南。
使用 建立聯絡人 AWS CLI
-
在命令列中輸入以下命令:
aws sesv2 create-contact --cli-input-json file://
CONTACT-JSON
在上述命令中,以
CreateContact
請求的 JSON 檔案路徑取代CONTACT-JSON
。請求的
CreateContact
輸入 JSON 檔案範例如下:{ "ContactListName": "ExampleContactListName", "EmailAddress": "example@amazon.com", "UnsubscribeAll": false, "TopicPreferences": [ { "TopicName": "Sports", "SubscriptionStatus": "OPT_IN" } ], "AttributesData": "{\"Name\": \"John\", \"Location\": \"Seattle\"}" }
在上述範例中,
false
的值UnsubscribeAll
顯示聯絡人尚未取消訂閱所有主題,而值true
表示聯絡人已取消訂閱所有主題。TopicPreferences
包含聯絡人主題訂閱狀態的相關資訊。在上述範例中,聯絡人已選擇加入「運動」主題,且會收到「運動」主題的所有電子郵件。AttributesData
是一個 JSON 欄位,可以在其中放置關於聯絡人的任何中繼資料。它必須是有效的 JSON 物件。
將聯絡人大量匯入至聯絡人清單
您可以手動新增大量地址,方法是先將聯絡人上傳到 Amazon S3 物件,然後使用 Amazon SES API v2 中的 CreateImportJob
作業或使用 SES 主控台。如需詳細資訊,請參閱 將大量電子郵件地址新增至您的帳戶層級禁止名單。
您應該先建立聯絡人清單再匯入聯絡人。
注意
每個 ImportJob 最多可以將一百萬個聯絡人新增至聯絡人清單。
若要將大量聯絡人新增至聯絡人清單,請完成下列步驟。
-
以 CSV 或 JSON 格式將聯絡人清單上傳到 Amazon S3 物件中。
CSV format (CSV 格式)
上傳到 Amazon S3 的檔案的第一行應該是標頭行。
topicPreferences
物件需要針對 CSV 格式扁平化。topicPreferences
中的每個主題都有一個單獨的標頭欄位。用於將大量聯絡人新增至聯絡人清單的 CSV 格式範例:
emailAddress,unsubscribeAll,attributesData,topicPreferences.Sports,topicPreferences.Cycling example1@amazon.com,false,{"Name": "John"},OPT_IN,OPT_OUT example2@amazon.com,true,,OPT_OUT,OPT_OUT
JSON format (JSON 格式)
僅支援以新行分隔的 JSON 檔案。在此格式中,每一行都是包含一名聯絡人資訊的完整 JSON 物件。
用於將大量聯絡人新增至聯絡人清單的 JSON 格式範例:
{ "emailAddress": "example1@amazon.com", "unsubscribeAll": false, "attributesData": "{\"Name\":\"John\"}", "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_IN" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] } { "emailAddress": "example2@amazon.com", "unsubscribeAll": true, "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_OUT" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] }
在上述範例中,以您要新增至聯絡人清單的電子郵件地址取代
example1@amazon.com
和example2@amazon.com
。以聯絡人限定的值取代attributesData
值。此外,請以適用於您聯絡人的topicName
取代Sports
和Cycling
。可接受的topicPreferences
為OPT_IN
和OPT_OUT
。以 CSV 或 JSON 格式將聯絡人上傳到 Amazon S3 物件時,支援下列屬性:
屬性 描述 emailAddress
聯絡人的電子郵件地址。此為必要欄位。 unsubscribeAll
布林值狀態,指出聯絡人是否已取消訂閱所有聯絡人清單主題。 topicPreferences
聯絡人選擇加入或退出主題的偏好設定。 attributesData
連接至聯絡人的屬性資料。 -
授予 Amazon SES 讀取 Amazon S3 物件的許可。
將下列政策套用到 Amazon S3 儲存貯體時,會給予 Amazon SES 讀取儲存貯體的許可。如需將政策附加至 Amazon S3 儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的使用儲存貯體政策和使用者政策。
-
授予 Amazon SES 許可以使用您的 AWS KMS 金鑰。
如果 Amazon S3 物件使用 AWS KMS 金鑰加密,您需要授予 Amazon SES 使用 KMS 金鑰的許可。Amazon SES 只能取得客戶受管金鑰的許可,而不能取得預設 KMS 金鑰的許可。如果您使用客戶受管金鑰,則需將陳述式新增到金鑰政策中,以提供 Amazon SES 使用金鑰的許可。
貼上以下政策陳述式到金鑰政策中,以允許 Amazon SES 使用您的客戶受管金鑰。
{ "Sid": "AllowSESToDecrypt", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", ], "Resource": "*" }
-
使用 Amazon SES API v2 中的
CreateImportJob
作業。
注意
下列範例假設您已安裝 AWS CLI。如需安裝和設定 的詳細資訊 AWS CLI,請參閱AWS Command Line Interface 《 使用者指南》。
在命令列輸入下列命令。將 s3bucket
取代為 Amazon S3 儲存貯體的名稱,將 s3object
取代為 Amazon S3 物件的名稱。
aws sesv2 create-import-job --import-destination ContactListDestination={ContactListName=ExampleContactListName,ContactListImportAction=PUT} --import-data-source S3Url="s3://s3bucket/s3object",DataFormat=CSV
含有範例的清單管理演練
以下演練提供了一些範例,說明如何使用清單管理列出您的聯絡人,使用電子郵件中的 ListManagementOptions
指定聯絡人清單和主題名稱,以及如何插入取消訂閱連結。
-
使用 列出聯絡人 AWS CLI – 您可以使用
ListContacts
操作來擷取已訂閱特定主題的所有聯絡人清單,以及SendEmail
操作,這可讓您傳送電子郵件給他們。在命令列中輸入以下命令:
aws sesv2 list-contacts --cli-input-json file://
LIST-CONTACTS-JSON
在上述命令中,以
ListContacts
請求的 JSON 檔案路徑取代LIST-CONTACTS-JSON
。請求的
ListContacts
輸入 JSON 檔案範例如下:{ "ContactListName": "ExampleContactListName", "Filter": { "FilteredStatus": "OPT_IN", "TopicFilter": { "TopicName": "Cycling", "UseDefaultIfPreferenceUnavailable": true } }, "PageSize": 50 }
FilteredStatus
會顯示您要篩選的訂閱狀態,也就是OPT_IN
或OPT_OUT
。TopicFilter
是選用的篩選器,可指定你需要結果的主題,在上方例子中即為「Cycling」。UseDefaultIfPreferenceUnavailable
可以有true
或false
的值。如為true
,當聯絡人對某個主題沒有任何明確的偏好設定,便會使用主題預設偏好設定。如為false
,則只會篩選具有明確設定偏好設定的聯絡人。 -
啟用
ListManagementOptions
傳送郵件 – 使用以上ListContacts
作業列出您的聯絡人後,您可以使用SendEmail
作業將電子郵件傳送給您的每個聯絡人,方法是利用ListManagementOptions
標頭指定您的聯絡人清單和主題名稱。要使用
ListManagementOptions
與SendEmail
作業,包括電子郵件隸屬的contactListName
和topicName
(topicName
是選擇性的):ListManagementOptions: String contactListName String topicName
如果您將
SendEmail
請求傳給不在聯絡人清單上的收件人電子郵件地址,且請求中包含ListManagementOptions
,系統便會自動在您的清單上建立聯絡人。如果將電子郵件傳送給聯絡人清單上未訂閱的聯絡人,Amazon SES 會將電子郵件退信,這表示您不需要更新
SendEmail
請求以避免傳送給已取消訂閱的聯絡人。 -
表示取消訂閱連結的位置 – 利用
ListManagementOptions
時,您可以選擇啟用 Amazon SES 在您的電子郵件中添加取消訂閱頁尾連結,使用{{amazonSESUnsubscribeUrl}}
預留位置,以指定 SES 需要插入取消訂閱 URL 的位置。預留位置取代功能僅支援 HTML 與 TEXT 內容類型。您最多可以包含預留位置兩次。如果使用兩次以上,只會取代一開始的兩次。如需詳細資訊,請參閱使用訂閱管理功能。或者,若您使用 SMTP 介面傳送電子郵件,您也可以使用
X-SES-LIST-MANAGEMENT-OPTIONS
標頭來指定清單和主題名稱。若要在使用 SMTP 介面傳送電子郵件時指定清單和主題名稱,請在電子郵件中新增下列電子郵件標題:
X-SES-LIST-MANAGEMENT-OPTIONS: {contactListName}; topic={topicName}