laravel - Laravel 5.5 尝试使用 Aws SES 发送邮件但它不断返回错误
问题描述
我正在建立一个带有联系表格的网站,该表格将使用 AWS SES 发送邮件。我已经设置了我的 .env 文件:
MAIL_DRIVER=ses
MAIL_HOST=us-west-2
MAIL_PORT=587
MAIL_USERNAME=AKADADQADADGX45EO
MAIL_PASSWORD=EASDDEWWWEDWEDASDQWDQWDBTb5
MAIL_ENCRYPTION=tls
我的 mail.php 设置为使用与 services.php 相同的 .env() 值:
'ses' => [
'key' => env('MAIL_USERNAME'),
'secret' => env('MAIL_PASSWORD'),
'region' => env('MAIL_HOST'),
],
我已申请并已从沙盒中删除。
我使用 AmazonSESFullAccess 设置了 IAM 用户,甚至制定了我自己的策略 (AmazonSesSendingAccess),以防万一上述情况不正确:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "*"
}
]
}
这不断出现:
Error executing "SendRawEmail" on "https://email.us-west-2.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.us-west-2.amazonaws.com` resulted i ▶
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">\n
<Error>\n
<Type>Sender</Type>\n
<Code>MessageReje (truncated...)\n
MessageRejected (client): Email address is not verified. The following identities failed the check in region US-WEST-2: email@email.com - <ErrorResponse ▶
<Error>\n
<Type>Sender</Type>\n
<Code>MessageRejected</Code>\n
<Message>Email address is not verified. The following identities failed the check in region US-WEST-2: email@email.com</Message>\n
</Error>\n
<RequestId>269f02b9-1320-4882-b3d4-0cd57559aaea</RequestId>\n
</ErrorResponse>
我对此不知所措。因为我不再在沙箱中,所以我不需要验证任何东西。我确定的最后一件事是我已获准进入美国西俄勒冈州,即 us-west-2。
解决方案
您必须从 AWS 控制面板本身验证您的域和电子邮件,请尝试查看本文中的第2 点和第 3 点。
回答您的评论:
我并不是说您必须验证您的客户电子邮件,因为这是不可能的,也许只是创建一个no-reply@yourdomain.com
或类似的,它将成为电子邮件发件人,并将电子邮件的回复标题设置为电子邮件客户填写表格。
必须进行域验证,因为 AWS 必须确保您确实拥有发送电子邮件的电子邮件帐户的域。
这是一种垃圾邮件预防措施,否则您可能只是在电子邮件标头本身中伪造邮件发件人,并且 AWS 邮件服务器可能会被标记为垃圾邮件(这也会影响使用 AWS 发送电子邮件的其他用户)。
推荐阅读
- elasticsearch - 与 Elasticsearch 相比,Apache Pinot 如何索引数据?
- python - NLP TypeError:“NoneType”类型的参数不可迭代
- selenium - Selenium 搜索 ID 并非总是有效?
- database - MongoDB - 将复制设置为 DocumentDB
- sql - 如何解决 SQL Server 中列名不明确的问题?
- docker - 流利的不从头开始采摘日志
- c++ - 删除函数时未在此范围内声明 JsonDocument
- android - “未能应用插件 'com.android.internal.application”
- css - 仅使用 @media 屏幕的响应式设计问题
- rust - 如何使用 wasmer-wasi 从 Rust 中的 WASM 读取现有目录?