本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon SES 事件發佈監控電子郵件傳送
若要讓您精細追蹤電子郵件傳送,您可以設定 Amazon SES,根據您定義的特性,將電子郵件傳送事件發佈至 Amazon CloudWatch、Amazon Data Firehose、Amazon Pinpoint、Amazon Simple Notification Service 或 Amazon EventBridge。
您可以追蹤數種類型的電子郵件傳送事件,包括傳送、交付、開啟、點選、退信、抱怨、拒收、算圖失敗和傳遞延遲。此資訊用於操作性與分析性用途時可能有幫助。例如,您可以將電子郵件傳送資料發佈至 CloudWatch,並建立可追蹤電子郵件行銷活動表現的儀表板,或者使用 Amazon SNS 以在特定事件發生時向您傳送通知。
事件發佈如何與組態集和訊息標籤搭配使用
若要使用事件發佈,您必須先設定一或多個組態集。組態設定將指定發佈事件的位置以及要發佈哪些事件。接著,每次傳送電子郵件時,您需要提供組態集名稱以及一或多個訊息標籤,以名稱值對的格式來分類電子郵件。例如,若您要宣傳書籍,可以在傳送相關行銷活動的電子郵件時,將訊息標籤命名為類型,並指定科幻或西部的值。
根據您使用的電子郵件傳送界面,您可以將訊息標籤做為參數提供給 SendEmail
API 操作EmailTags
的欄位,或將訊息標籤新增至 SES 特定的電子郵件標頭 X-SES-MESSAGE-TAGS
。如需組態集的詳細資訊,請參閱 使用 Amazon SES 中的組態集。
除了您指定的訊息標籤之外,SES 也會將自動標籤新增至您傳送的訊息。您不需要執行任何額外的步驟,就能使用自動標籤。
下表列出自動套用至您使用 SES 傳送之訊息的自動標籤。
自動名稱標籤 | 描述 |
---|---|
ses:caller-identity |
傳送電子郵件的 SES 使用者的 IAM 身分。 |
ses:configuration-set |
與電子郵件相關的組態設定名稱。 |
ses:from-domain |
「寄件人」地址的網域。 |
ses:outgoing-ip |
SES 用來傳送電子郵件的 IP 地址。 |
ses:source-ip |
呼叫者用於傳送電子郵件的 IP 地址。 |
ses:source-tls-version |
呼叫者用來傳送電子郵件的 TLS 通訊協定版本。 |
ses:outgoing-tls-version |
SES 用來傳送電子郵件的 TLS 通訊協定版本。 |
電子郵件行銷活動的精細意見回饋
ses:feedback-id-<
標籤是選用的訊息標籤,您可以將其視為混合或半自動標籤,雖然類似於上一節討論的自動標籤,但差別在於您必須手動新增標籤並使用a
or b
>ses:
字首索引鍵。您最多可以使用兩個定義為 ses:feedback-id-a
和 的標籤ses:feedback-id-b
。
當您指定這些標籤時,SES 會自動將其附加到標準Feedback-ID
標頭,用於提供交付統計資料,例如投訴和垃圾郵件率,作為回饋迴圈 (FBL) 的一部分,請參閱 回饋迴圈。Feedback-ID
標頭由 SES 用於收集投訴資訊的識別符 SESInternalID 和靜態標籤 AmazonSES 組成,將 SES 識別為傳送平台,例如:
FeedBackId:feedback-id-a:feedback-id-b:((SESInternalID):(AmazonSES))
這些選用的意見回饋 ID 標籤是用來產生精細意見回饋的方式,例如您在電子郵件行銷活動中傳送的訊息。您可以在 SendEmail
操作請求的 EmailTags
欄位中指定為訊息標籤,ses:feedback-id-<
以使用 ,如下列範例所示:a
or b
>
{ "FromEmailAddress": "noreply@example.com", "Destination": { "ToAddresses": [ "customer@example.net" ] }, "Content": { "Simple": { "Subject": { "Data": "Hello and welcome" }, "Body": { "Text": { "Data": "Lorem ipsum dolor sit amet." }, "Html": { "Data": "Lorem ipsum dolor sit amet." } } } }, "EmailTags": [ { "Name": "ses:feedback-id-a", "Value": "new-members-campaign" }, { "Name": "ses:feedback-id-b", "Value": "football-campaign" } ], "ConfigurationSetName": "football-club" }
如果以原始格式傳送,您可以將 ses:feedback-id-<
做為訊息標籤新增至 SES 特定標頭 X-SES-MESSAGE-TAGS。a
or b
>
訊息ses:feedback-id-<
標籤也可以在 Amazon CloudWatch 中追蹤,方法是將其指定為 CloudWatch 值來源,就像任何其他訊息標籤一樣,請參閱 新增 CloudWatch 事件目的地(需支付額外費用,請參閱 CloudWatch 的每項指標價格。)a
or b
>
事件發佈的使用方式
下列各節包含設定和使用 SES 事件發佈所需的資訊。
事件發佈術語
下列清單定義與 SES 事件發佈相關的詞彙。
- 電子郵件傳送事件
-
與您提交至 SES 之電子郵件結果相關聯的資訊。傳送事件包含以下內容:
-
Send (傳送) - 傳送請求成功,且 Amazon SES 會嘗試將訊息遞送到收件人的電子郵件伺服器。(如果正在使用帳戶層級或全域禁止,SES 仍會將其視為傳送,但會禁止遞送)。
-
轉譯失敗 – 因範本轉譯問題而未傳送電子郵件。範本資料遺失或是範本參數與資料不相符時,可能會出現此事件類型。(只有使用
SendTemplatedEmail
或SendBulkTemplatedEmail
API 操作來傳送電子郵件時,才會出現此事件類型。) -
Reject (拒絕) - Amazon SES 接受電子郵件後判斷電子郵件包含病毒,且未嘗試將電子郵件遞送到收件人的電子郵件伺服器。
-
Delivery (交付) – Amazon SES 成功將電子郵件交付給收件人的郵件伺服器。
-
退信 – 硬退信代表收件人的郵件伺服器永久拒絕電子郵件。(只有當 SES 不再嘗試傳送電子郵件時,才會包含軟退信。 一般而言,這些軟退信表示交付失敗,但在某些情況下,即使郵件成功到達收件人收件匣,也可以傳回軟退信。 這通常發生在收件人傳送out-of-office自動回覆時。 在此 AWS re:Post 文章
中進一步了解軟退信。) -
Complaint (投訴) - 電子郵件已成功遞送至收件人的郵件伺服器,但收件人將其標示為垃圾郵件。
-
交付延遲 – 因為發生暫時問題,所以無法將電子郵件遞送至收件人的郵件伺服器。例如,當收件人的收件匣已滿時,或接收電子郵件伺服器暫時發生問題時,可能會發生傳遞延遲。
-
Subscription (訂閱) - 已成功遞送電子郵件,但收件人透過按一下電子郵件標頭中的
List-Unsubscribe
或頁尾中的Unsubscribe
連結來更新訂閱偏好設定。 -
Open (開啟) - 收件人收到訊息,並在其電子郵件用戶端中開啟。
-
Click (點按) - 收件人點按電子郵件中包含的一或多個連結。
-
- 組態集
-
定義 SES 發佈電子郵件傳送事件目的地的一組規則,以及您要發佈的電子郵件傳送事件類型。當您傳送想要使用事件發佈的電子郵件時,需指定與該電子郵件相關的組態設定。
- 事件目的地
-
AWS 您發佈 SES 電子郵件傳送事件的服務。您所設定的每個事件目的地皆僅屬於一個且是唯一的組態設定。
- 訊息標籤
-
您根據事件發佈用途來分類電子郵件的名稱/值組。範例包括行銷活動/書籍和行銷活動/衣物。當您傳送電子郵件時,您可以將訊息標籤指定為 API 呼叫的參數,或指定為 SES 特定的電子郵件標頭。
- 自動標籤
-
自動包含在事件發佈報告中的訊息標籤。組態集名稱、「寄件人」地址的網域、發起人的傳出 IP 地址、SES 傳出 IP 地址和發起人的 IAM 身分都有自動標籤。