簡體   English   中英

無法使用 SNS 在 AWS SES 中接收 email 和 Lambda

[英]Unable to receive email in AWS SES using SNS and Lambda

我正在嘗試使用 SNS 在 SES 中接收 email 和 Lambda function。

我已將 example@gmail.com 驗證為 SES 中的 email 地址,並創建了一個規則集,其中 example@gmail.com 作為收件人,SNS 主題作為操作。 規則集已啟用。

Lambda 訂閱了 SNS 主題,當我在 AWS 控制台中發送關於該主題的測試消息時,我可以在 CloudWatch 中看到 Lambda 收到了消息。

但是,當我向 example@gmail.com 發送 email 時,Lambda 沒有收到 email。

有任何想法嗎?

下面是一些相關的代碼/配置:

  • SES 驗證 email SES 驗證電子郵件
  • 接收規則操作接收規則操作
  • SNS 主題訪問策略
{
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "SNS:GetTopicAttributes",
        "SNS:SetTopicAttributes",
        "SNS:AddPermission",
        "SNS:RemovePermission",
        "SNS:DeleteTopic",
        "SNS:Subscribe",
        "SNS:ListSubscriptionsByTopic",
        "SNS:Publish",
        "SNS:Receive"
      ],
      "Resource": "arn:aws:sns:eu-west-1:my-account-id:EmailImagesStack-TopicBFC7AF6E-8ZD350QFNU12",
      "Condition": {
        "StringEquals": {
          "AWS:SourceOwner": "my account id"
        }
      }
    }
  ]
}

在 SES 中接收郵件需要此處描述的一些先決條件。

  • 通過發布 DNS 條記錄來證明您擁有該域,從而使用 Amazon SES 驗證您的
  • 通過發布 MX 記錄,允許 Amazon SES 為您的域接收 email。
  • 授予Amazon SES 訪問其他 AWS 資源的權限以執行接收規則操作。

我猜您不擁有域gmail.com ,因此 SES 無法為您接收來自example@gmail.com的郵件。

對於 Gmail,重復 email 導致它顯示為促銷 email 而不是主要 email。

從左側導航欄中,只需單擊“所有郵件” 從中心內容中,單擊“主要”選項卡旁邊的“促銷”選項卡。

它將顯示從 AWS SNS 收到的所有電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM