我正在启动一项使用 Laravel Cron、AWS WorkMail 和 AWS SES 发送自动电子邮件的服务。我有大约 10 个用户,(几乎)每个人都可以。
一位用户说他收不到任何电子邮件。
这是 AWS SES 给出的错误消息:
https://i.stack.imgur.com/ahrAj.jpg
这是我的 Route53 配置:
https://i.stack.imgur.com/KKHWv.png
其他用户收到是正常的。
我正在研究它数周但无法解决它:(
Laravel 代码:
<?php
use Illuminate\Support\Facades\Mail;
// Some code
Mail::send([], [], function($m) {
$m->from(env("MAIL_FROM"), $this->email_reply["name"]);
$m->to($this->email_to["email"], $this->email_to["name"])->subject($this->title);
$m->setBody($this->parseFastText(!!"email"), "text/html");
});
项目上的 SES 配置是正确的,只有一位用户无法接收电子邮件。
这是一封带有自定义域 (foobar.com.br) 的电子邮件,如果它是 AWS SES 和自定义域之间的问题,则为 idk。
我认为它可能是客户端电子邮件服务器中的过滤器,但不确定。
我也曾在 AWS Workmail 之前尝试过使用 Zoho Mail,但出现了同样的错误。
邮件测试器:https ://www.mail-tester.com/test-ralvhoi3f
解决了:
<?php
use Illuminate\Support\Facades\Mail;
// Some code
Mail::send([], [], function($m) {
$body = $this->parseFastText(!!"email");
$m->from(env("MAIL_FROM"), $this->email_reply["name"]);
$m->to($this->email_to["email"], $this->email_to["name"])->subject($this->title);
// --- ADD
$m->addPart(filter_var($body, FILTER_SANITIZE_STRING), "text/plain");
// ---
$m->setBody($body, "text/html");
});