如何使用 Amazon SES 接收傳入電子郵件,然後將這些電子郵件儲存在 Amazon S3 中?

2 分的閱讀內容
0

我想使用 Amazon Simple Email Service (Amazon SES) 接收傳入電子郵件,並儲存電子郵件以進行封存或進一步處理。

解決方法

注意: 開始之前,確認您的端點位於支援電子郵件接收的 AWS 區域。除了 Amazon S3 儲存貯體外,您用來接收 Amazon SES 電子郵件的所有 AWS 資源都必須與 Amazon SES 端點位於相同的 AWS 區域。

使用 Amazon SES 驗證您的電子郵件網域

驗證您要用來接收電子郵件的網域。

發佈 Amazon SES 的 MX 記錄,以接收電子郵件

要讓 Amazon SES 接收網域的傳入電子郵件,請發佈郵件交換程式記錄 (MX 記錄)。在網域 DNS 組態中,納入 Amazon SES 傳入接收端點

設定具有權限的 Amazon S3 儲存貯體,以儲存來自 Amazon SES 的電子郵件

1.    開啟 Amazon S3 主控台

2.    建立 Amazon S3 儲存貯體

3.    從儲存貯體清單,選取儲存貯體名稱。

4.    選擇權限標籤。

5.    選擇儲存貯體政策

6.    在儲存貯體政策編輯器下,輸入下列政策。
AWSDOC-EXAMPLE-BUCKET 取代為您要寫入的 S3 儲存貯體的名稱。
111122223333 取代為您的 AWS 帳戶 ID。將 region 取代為您要在其中建立接收規則的 AWS 區域。將 rule_set_name 取代為包含接收規則的規則集名稱。將 receipt_rule_name 取代為接收規則名稱。如果您未在 Amazon SES 中設定rule_set_namereceipt_rule_name,則可以使用任何值,以設定儲存貯體政策。在下一區段中建立規則集和規則時,請使用相同的值。

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AllowSESPuts",
      "Effect":"Allow",
      "Principal":{
        "Service":"ses.amazonaws.com"
      },
      "Action":"s3:PutObject",
      "Resource":"arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*",
      "Condition":{
        "StringEquals":{
          "AWS:SourceAccount":"111122223333",
          "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name"
        }
      }
    }
  ]
}

7.    選擇儲存
**注意:**如需有關此政策的詳細資訊,請參閱授予 Amazon SES 寫入 Amazon S3 儲存貯體的權限

建立 Amazon SES 接收規則,將傳入電子郵件傳送至 S3 儲存貯體

  1. 開啟 Amazon SES 主控台
  2. 在導覽窗格的所有規則集下,選擇電子郵件接收
  3. 要將規則新增至作用中的規則集,請繼續執行步驟 4。要建立新的規則集,選擇建立規則集、輸入規則集名稱,然後選擇建立規則集
    注意:如果您建立新的規則集,選取該規則集,然後選擇設定為作用中的規則集。在任何指定時間,僅一個接收規則集可以是作用中的規則集。
  4. 選擇作用中的規則集
  5. 選擇建立規則
    **注意:**您也可以選擇使用下列步驟中所述的相同值來更新現有規則。
  6. 輸入唯一的規則名稱。如果您的使用案例需要 TLS 或垃圾郵件和病毒掃描,則請選擇需要 TLS啟用垃圾郵件和病毒掃描。要讓其成為作用中的規則,請選取已啟用核取方塊。
  7. 選擇下一步
  8. 要僅儲存 Amazon SES 傳送至特定驗證網域的電子郵件,請選擇新增收件者條件,然後輸入電子郵件地址作為收件者。要儲存 Amazon SES 傳送至所有已驗證網域的所有電子郵件,請勿輸入任何電子郵件地址。然後,選擇下一步
  9. 選擇新增動作,然後選擇交付至 S3 儲存貯體。請完成下列步驟:      
    針對 S3 儲存貯體,選擇您建立的用於儲存電子郵件的儲存貯體。         
    針對物件索引鍵字首,輸入您要儲存電子郵件的 S3 字首。如果您要將此欄位留空,Amazon SES 會將電子郵件儲存在儲存貯體的根中。
    (選用) 選擇 Amazon SES 的訊息加密,以使用 AWS Key Management Server (AWS KMS) key 加密電子郵件。
    **注意:**如果您使用的是預設根金鑰以外的金鑰,則必須授予 Amazon SES 使用 AWS KMS key 的權限。Amazon SES 使用 Amazon S3 加密用戶端,以加密您的電子郵件,然後再將電子郵件傳送到 S3 儲存貯體儲存。加密您的電子郵件時,Amazon SES 不會使用 Amazon S3 伺服器端加密。
  10. (選用) 針對 SNS 主題,選取 Amazon Simple Notification Service (Amazon SNS) 主題,以在 Amazon SES 將電子郵件交付至 S3 儲存貯體時通知您。
  11. 選擇下一步
  12. 選擇建立規則

測試 Amazon SES 規則

  1. 開啟 Amazon SES 主控台
  2. 在導覽窗格中,選擇已驗證的身分
  3. 選擇您已驗證的網域。
  4. 選擇傳送測試電子郵件。然後,完成下列欄位:
    針對電子郵件格式,選擇格式化
    針對寄件者地址,輸入您要傳送測試電子郵件的電子郵件地址。
    情境下,選擇自訂
    針對自訂接收者,輸入包含您要測試的網域的電子郵件地址。
    針對主旨內文,輸入範例電子郵件文字。
  5. 選擇傳送測試電子郵件
  6. 開啟 Amazon S3 主控台
  7. 開啟您設定用來儲存 Amazon SES 電子郵件的儲存貯體。
  8. 確認儲存貯體包含您傳送的測試電子郵件。測試電子郵件可能需要幾分鐘的時間才會顯示。

相關資訊

為什麼 Amazon SES 的傳入電子郵件無法送達或儲存到我的 Amazon S3 儲存貯體?

設定 Amazon SES 電子郵件接收

AWS 官方
AWS 官方已更新 1 年前