无法使用 SNS 和 Lambda 在 AWS SES 中接收电子邮件
Unable to receive email in AWS SES using SNS and Lambda
我正在尝试使用 SNS 和 Lambda 函数在 SES 中接收电子邮件。
我已将 example@gmail.com 验证为 SES 中的电子邮件地址,并创建了一个规则集,其中 example@gmail.com 是收件人,SNS 主题是操作。规则集已启用。
Lambda 订阅了 SNS 主题,当我在 AWS 控制台中发送关于该主题的测试消息时,我可以在 CloudWatch 中看到 Lambda 收到了消息。
但是,当我向 example@gmail.com 发送电子邮件时,Lambda 没有收到电子邮件。
有什么想法吗?
下面是一些相关的code/config:
- 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 中接收邮件需要 here 中描述的一些先决条件。
- Verify your domain with Amazon SES by publishing DNS records to prove that you own it.
- Permit Amazon SES to receive email for your domain by publishing an MX record.
- Give Amazon SES permission to access other AWS resources in order to execute receipt rule actions.
我猜您不拥有域 gmail.com
,因此 SES 无法为您接收来自 example@gmail.com
的邮件。
我正在尝试使用 SNS 和 Lambda 函数在 SES 中接收电子邮件。
我已将 example@gmail.com 验证为 SES 中的电子邮件地址,并创建了一个规则集,其中 example@gmail.com 是收件人,SNS 主题是操作。规则集已启用。
Lambda 订阅了 SNS 主题,当我在 AWS 控制台中发送关于该主题的测试消息时,我可以在 CloudWatch 中看到 Lambda 收到了消息。
但是,当我向 example@gmail.com 发送电子邮件时,Lambda 没有收到电子邮件。
有什么想法吗?
下面是一些相关的code/config:
- 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 中接收邮件需要 here 中描述的一些先决条件。
- Verify your domain with Amazon SES by publishing DNS records to prove that you own it.
- Permit Amazon SES to receive email for your domain by publishing an MX record.
- Give Amazon SES permission to access other AWS resources in order to execute receipt rule actions.
我猜您不拥有域 gmail.com
,因此 SES 无法为您接收来自 example@gmail.com
的邮件。