使用 的 Amazon SES範例 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 Amazon SES範例 AWS CLI

下列程式碼範例說明如何 AWS Command Line Interface 搭配 Amazon 使用 來執行動作和實作常見案例SES。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 delete-identity

AWS CLI

刪除身分

下列範例使用 delete-identity命令,從 Amazon 已驗證的身分清單中刪除身分SES:

aws ses delete-identity --identity user@example.com

如需已驗證身分的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。

  • 如需API詳細資訊,請參閱 命令參考 DeleteIdentity中的 。 AWS CLI

下列程式碼範例示範如何使用 get-identity-dkim-attributes

AWS CLI

取得身分清單的 Amazon SES Easy DKIM 屬性

下列範例使用 get-identity-dkim-attributes命令來擷取身分清單的 Amazon SES Easy DKIM 屬性:

aws ses get-identity-dkim-attributes --identities "example.com" "user@example.com"

輸出:

{ "DkimAttributes": { "example.com": { "DkimTokens": [ "EXAMPLEjcs5xoyqytjsotsijas7236gr", "EXAMPLEjr76cvoc6mysspnioorxsn6ep", "EXAMPLEkbmkqkhlm2lyz77ppkulerm4k" ], "DkimEnabled": true, "DkimVerificationStatus": "Success" }, "user@example.com": { "DkimEnabled": false, "DkimVerificationStatus": "NotStarted" } } }

如果您使用從未提交進行驗證的身分來呼叫此命令,則該身分不會出現在輸出中。

如需 Easy 的詳細資訊DKIM,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的 Easy DKIM in Amazon。

下列程式碼範例示範如何使用 get-identity-notification-attributes

AWS CLI

取得身分清單的 Amazon SES通知屬性

下列範例使用 get-identity-notification-attributes命令來擷取身分清單的 Amazon SES通知屬性:

aws ses get-identity-notification-attributes --identities "user1@example.com" "user2@example.com"

輸出:

{ "NotificationAttributes": { "user1@example.com": { "ForwardingEnabled": false, "ComplaintTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic", "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic", "DeliveryTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic" }, "user2@example.com": { "ForwardingEnabled": true } } }

此命令會傳回電子郵件意見回饋轉送的狀態,如果適用,也會傳回退信、投訴和交付通知所傳送至之 Amazon SNS主題的 Amazon Resource Names (ARNs)。

如果您使用從未提交進行驗證的身分來呼叫此命令,則該身分不會出現在輸出中。

如需通知的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES中的將通知與 Amazon 搭配使用。

下列程式碼範例示範如何使用 get-identity-verification-attributes

AWS CLI

取得身分清單的 Amazon SES 驗證狀態

下列範例使用 get-identity-verification-attributes命令來擷取身分清單的 Amazon SES 驗證狀態:

aws ses get-identity-verification-attributes --identities "user1@example.com" "user2@example.com"

輸出:

{ "VerificationAttributes": { "user1@example.com": { "VerificationStatus": "Success" }, "user2@example.com": { "VerificationStatus": "Pending" } } }

如果您使用從未提交進行驗證的身分來呼叫此命令,則該身分不會出現在輸出中。

如需已驗證身分的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。

下列程式碼範例示範如何使用 get-send-quota

AWS CLI

取得您的 Amazon SES傳送限制

下列範例使用 get-send-quota命令來傳回 Amazon SES傳送限制:

aws ses get-send-quota

輸出:

{ "Max24HourSend": 200.0, "SentLast24Hours": 1.0, "MaxSendRate": 1.0 }

Max24HourSend 是您的傳送配額,這是您在 24 小時內可以傳送的電子郵件數量上限。傳送配額所反映的是一段時間內的配額。每次嘗試傳送電子郵件時,Amazon 都會SES檢查您在過去 24 小時內傳送的電子郵件數量。只要您已傳送的電子郵件總數量低於您的配額,您的傳送請求將被接受並將傳送您的電子郵件。

SentLast24Hours是指您在過去 24 小時內傳送的電子郵件數量。

MaxSendRate 是每秒可傳送的電子郵件數量上限。

請注意,傳送限制依據收件人而定,而非訊息。例如,一封電子郵件中有 10 個收件人,就會佔用 10 個您的傳送配額。

如需詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 中的管理您的 Amazon SES Sending Limits。

  • 如需API詳細資訊,請參閱 命令參考 GetSendQuota中的 。 AWS CLI

下列程式碼範例示範如何使用 get-send-statistics

AWS CLI

若要取得 Amazon SES傳送統計資料

下列範例使用 get-send-statistics命令來傳回您的 Amazon SES傳送統計資料

aws ses get-send-statistics

輸出:

{ "SendDataPoints": [ { "Complaints": 0, "Timestamp": "2013-06-12T19:32:00Z", "DeliveryAttempts": 2, "Bounces": 0, "Rejects": 0 }, { "Complaints": 0, "Timestamp": "2013-06-12T00:47:00Z", "DeliveryAttempts": 1, "Bounces": 0, "Rejects": 0 } ] }

結果是資料點的清單,代表過去兩週傳送活動。清單中的每個資料點都包含 15 分鐘間隔的統計資料。

在此範例中,只有兩個資料點,因為使用者在過去兩週內傳送的唯一電子郵件在兩個 15 分鐘內下降。

如需詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 中的監控您的 Amazon SES用量統計資料。

下列程式碼範例示範如何使用 list-identities

AWS CLI

列出特定 AWS 帳戶的所有身分 (電子郵件地址和網域)

下列範例使用 list-identities命令來列出已提交給 Amazon 進行驗證的所有身分SES:

aws ses list-identities

輸出:

{ "Identities": [ "user@example.com", "example.com" ] }

傳回的清單包含所有身分,無論驗證狀態為何 (已驗證、等待驗證、失敗等)。

在此範例中,因為我們未指定 identity-type 參數,所以會傳回電子郵件地址 網域。

如需驗證的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。

  • 如需API詳細資訊,請參閱 命令參考 ListIdentities中的 。 AWS CLI

下列程式碼範例示範如何使用 send-email

AWS CLI

使用 Amazon 傳送格式化電子郵件 SES

下列範例使用 send-email 命令來傳送格式化電子郵件:

aws ses send-email --from sender@example.com --destination file://destination.json --message file://message.json

輸出:

{ "MessageId": "EXAMPLEf3a5efcd1-51adec81-d2a4-4e3f-9fe2-5d85c1b23783-000000" }

目的地和訊息是儲存在目前目錄中 .json 檔案中JSON的資料結構。這些檔案如下:

destination.json:

{ "ToAddresses": ["recipient1@example.com", "recipient2@example.com"], "CcAddresses": ["recipient3@example.com"], "BccAddresses": [] }

message.json:

{ "Subject": { "Data": "Test email sent using the AWS CLI", "Charset": "UTF-8" }, "Body": { "Text": { "Data": "This is the message body in text format.", "Charset": "UTF-8" }, "Html": { "Data": "This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>.", "Charset": "UTF-8" } } }

將寄件者和收件者的電子郵件地址取代為您要使用的地址。請注意,寄件者的電子郵件地址必須與 Amazon 進行驗證SES。在授予 Amazon 生產存取權之前SES,除非收件人是 Amazon SES信箱模擬器,否則您也必須驗證每個收件人的電子郵件地址。如需驗證的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。

輸出中的訊息 ID 表示對 send-email 的呼叫成功。

如果您沒有收到電子郵件,請檢查您的垃圾郵件匣。

如需傳送格式化電子郵件的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES API 中的使用 Amazon 傳送格式化電子郵件。

  • 如需API詳細資訊,請參閱 命令參考 SendEmail中的 。 AWS CLI

下列程式碼範例示範如何使用 send-raw-email

AWS CLI

使用 Amazon 傳送原始電子郵件 SES

下列範例使用 send-raw-email命令來傳送具有TXT附件的電子郵件:

aws ses send-raw-email --raw-message file://message.json

輸出:

{ "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" }

原始訊息是儲存在message.json目前目錄中名為 的檔案中JSON的資料結構。其中包含下列各項:

{ "Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--" }

如您所見,「資料」是一個長字串,包含整個原始電子郵件內容的MIME格式,包括名為 attachment.txt 的附件。

將 sender@example.com 和 recipient@example.com 取代為您要使用的地址。請注意,寄件者的電子郵件地址必須與 Amazon 進行驗證SES。在授予 Amazon 生產存取權之前SES,除非收件人是 Amazon SES信箱模擬器,否則您也必須驗證收件人的電子郵件地址。如需驗證的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證電子郵件地址和網域。

輸出中的訊息 ID 表示對 send-raw-email 的呼叫成功。

如果您沒有收到電子郵件,請檢查您的垃圾郵件匣。

如需傳送原始電子郵件的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES API 中的使用 Amazon 傳送原始電子郵件。

  • 如需API詳細資訊,請參閱 命令參考 SendRawEmail中的 。 AWS CLI

下列程式碼範例示範如何使用 set-identity-dkim-enabled

AWS CLI

針對 DKIM Amazon SES已驗證身分啟用或停用 Easy

下列範例使用 set-identity-dkim-enabled命令來DKIM停用已驗證電子郵件地址:

aws ses set-identity-dkim-enabled --identity user@example.com --no-dkim-enabled

如需 Easy 的詳細資訊DKIM,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的 Easy DKIM in Amazon。

下列程式碼範例示範如何使用 set-identity-feedback-forwarding-enabled

AWS CLI

啟用或停用 Amazon SES 驗證身分的退信和投訴電子郵件意見回饋轉送

下列範例使用 set-identity-feedback-forwarding-enabled命令來啟用已驗證的電子郵件地址,以透過電子郵件接收退信和投訴通知:

aws ses set-identity-feedback-forwarding-enabled --identity user@example.com --forwarding-enabled

您必須透過 Amazon SNS或電子郵件意見回饋轉送接收退信和投訴通知,因此,如果您同時為退信和投訴通知選取 Amazon SNS主題,則只能停用電子郵件意見回饋轉送。

如需通知的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的將通知與 Amazon 搭配使用。

下列程式碼範例示範如何使用 set-identity-notification-topic

AWS CLI

設定 Amazon SES將發佈已驗證身分退信、投訴和/或交付通知的 Amazon SNS主題

下列範例使用 set-identity-notification-topic命令來指定已驗證電子郵件地址將收到退信通知的 Amazon SNS主題:

aws ses set-identity-notification-topic --identity user@example.com --notification-type Bounce --sns-topic arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic

如需通知的詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES中的將通知與 Amazon 搭配使用。

下列程式碼範例示範如何使用 verify-domain-dkim

AWS CLI

若要產生已驗證網域的DKIM權杖,以便使用 Amazon DKIM簽署 SES

下列範例使用 verify-domain-dkim命令為已透過 Amazon 進行驗證的網域產生DKIM權杖SES:

aws ses verify-domain-dkim --domain example.com

輸出:

{ "DkimTokens": [ "EXAMPLEq76owjnks3lnluwg65scbemvw", "EXAMPLEi3dnsj67hstzaj673klariwx2", "EXAMPLEwfbtcukvimehexktmdtaz6naj" ] }

若要設定 DKIM,您必須使用傳回的DKIM權杖,透過指向 Amazon 託管公DKIM有金鑰CNAME的記錄來更新網域DNS的設定SES。如需詳細資訊,請參閱 DKIM Amazon Simple Email Service 開發人員指南 SES 中的 Amazon Easy。

  • 如需API詳細資訊,請參閱 命令參考 VerifyDomainDkim中的 。 AWS CLI

下列程式碼範例示範如何使用 verify-domain-identity

AWS CLI

使用 Amazon 驗證網域 SES

下列範例會使用 verify-domain-identity 命令來驗證網域:

aws ses verify-domain-identity --domain example.com

輸出:

{ "VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE" }

若要完成網域驗證,您必須將包含傳回的驗證字符TXT的記錄新增至網域DNS的設定。如需詳細資訊,請參閱 Amazon Simple Email Service 開發人員指南 SES 中的在 Amazon 中驗證網域。

下列程式碼範例示範如何使用 verify-email-identity

AWS CLI

使用 Amazon 驗證電子郵件地址 SES

下列範例會使用 verify-email-identity 命令來驗證網域:

aws ses verify-email-identity --email-address user@example.com

在使用 Amazon 傳送電子郵件之前SES,您必須驗證傳送電子郵件的地址或網域,以證明您擁有該地址或網域。如果您尚未擁有生產存取權,則還需要驗證您傳送電子郵件的任何電子郵件地址,但 Amazon SES信箱模擬器提供的電子郵件地址除外。

呼叫 後 verify-email-identity,電子郵件地址會收到驗證電子郵件。使用者必須按一下電子郵件中的連結,以完成驗證程序。

如需詳細資訊,請參閱Amazon Simple Email Service 開發人員指南SES中的在 Amazon 中驗證電子郵件地址。