php - AWS SES 电子邮件未使用 Laravel 验证
问题描述
我有这个邮件测试类通过 SES 向用户发送电子邮件:
class Test extends Mailable
{
use Queueable, SerializesModels;
public function build()
{
return $this->markdown('admin.emails.email-user2');
}
}
通过修补匠:
Mail::to('myemail@gmail.com')->send(new App\Mail\Admin\Test());
即使我打开了案例并从沙盒转换为生产:
我的.env:
MAIL_MAILER=ses
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=test@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=AK###IAV66#########
AWS_SECRET_ACCESS_KEY=P+G0x21#######ZJklHhRZbh#####kMu
AWS_DEFAULT_REGION=us-east-2
AWS_BUCKET=
我错过了什么吗?
错误::
Aws/Ses/Exception/SesException with message 'Error executing "SendRawEmail" on "https://email.us-east-2.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.us-east-2.amazonaws.com` resulted in a `400 Bad Request` response:
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>MessageReje (truncated...)
MessageRejected (client): Email address is not verified. The following identities failed the check in region US-EAST-2: ASU <asu@gmail.com>, asu@gmail.com - <ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>MessageRejected</Code>
<Message>Email address is not verified. The following identities failed the check in region US-EAST-2: ASU <asu@gmail.com>, asu@gmail.com</Message>
</Error>
<RequestId>8547280e-b97d-410c-b278-7d10626495b2</RequestId>
</ErrorResponse>
解决方案
从沙盒迁移到生产只消除了验证收件人地址的要求,但是,您必须需要验证 From/Envelope-Sender/Return Path 地址。
这是为了确保您不会使用其他人的电子邮件并向收件人发送垃圾邮件和滥用电子邮件服务。如果是gmail等,您需要验证电子邮件地址,如果您打算使用自己的域,您只需验证域并向亚马逊显示域的所有权,您不再需要验证email@your_domain.com
推荐阅读
- kubernetes-helm - `helmfile diff` 返回“Helm 中不存在版本。Diff 会将整个内容显示为新内容。”
- firebase - 如何将文件上传到 Firebase 存储,以便可以通过控制台下载?
- mysql - laravel 项目中为 foreach() 提供的参数无效
- javascript - Javascript 寄生继承,闭包
- java - 为什么在这种情况下反应堆 doOnError 没有被执行?
- c++ - VS 2010 C++的调用栈中的多个双冒号(::)
- javascript - Discord.js 寻找不存在的目录
- linux-kernel - 为什么它们在 x86-64 Linux 内核源代码中的系统调用编号在 334 和 424 之间存在差距?
- jenkins - 如何使用 try{} catch{} finally{}
- javascript - 将新文件下载到特定目录时如何运行 Node.js 脚本?