我正在尝试使用 PHP 和 Amazon SDK (sendCustomVerificationEmail) 发送自定义验证电子邮件
$data = $ses->sendCustomVerificationEmail(['EmailAddress' => $verifyEmail, 'TemplateName' => 'TemplateName']);print_r($data);
但是 $verifyEmail 中的用户从未收到验证电子邮件。
我得到的是
Aws\Result Object
(
[data:Aws\Result:private] => Array
(
[MessageId] => 0100018bc4d420b2-10b031c0-4256-48ce-b301-0f248ac9b268-000000
[@metadata] => Array
(
[statusCode] => 200
[effectiveUri] => https://email.us-east-1.amazonaws.com
[headers] => Array
(
[date] => Sun, 12 Nov 2023 18:38:38 GMT
[content-type] => text/xml
[content-length] => 398
[connection] => keep-alive
[x-amzn-requestid] => 96c83696-4393-4c73-bbab-60596beadf3d
)
[transferStats] => Array
(
[http] => Array
(
[0] => Array
(
)
)
)
)
)
[monitoringEvents:Aws\Result:private] => Array
(
)
)
status 200 表示一切正常。但用户从未收到验证电子邮件。我尝试了几个地址 - 没有人在工作。
很奇怪 - 一切都按预期工作,但大约 1 个月前 - 似乎停止工作。
我正在使用 PHP 和最新的适用于 PHP 的 AWS 开发工具包。
要解决使用 Amazon SES 和
sendCustomVerificationEmail
操作无法发送验证电子邮件的问题,请按照以下步骤操作:
验证电子邮件地址:仔细检查您在
EmailAddress
参数中提供的电子邮件地址,以确保没有拼写错误、格式错误或无效地址。
检查电子邮件过滤器:检查收件人的垃圾邮件或垃圾文件夹以查看验证电子邮件是否被过滤。将发件人的电子邮件地址添加到其联系人列表中以绕过潜在的过滤器。
验证域所有权:确保您用来发送验证电子邮件的域已通过 Amazon SES 进行验证。这有助于建立发件人的可信度并减少电子邮件被阻止的机会。
监控发送限制:检查您的 Amazon SES 发送限制,以确保您没有超出任何可能限制电子邮件传送的配额。如有必要,请求增加发送限制。
验证 DNS 配置:验证您的 DNS 记录是否已正确配置,以便 Amazon SES 从您的域发送电子邮件。仔细检查 MX 记录、SPF 记录和 DKIM 记录。
使用不同的电子邮件地址进行测试:尝试将验证电子邮件发送到不同的电子邮件地址,最好是来自不同提供商的电子邮件地址,以排除收件人电子邮件帐户特有的任何问题。
查看电子邮件日志:查看 Amazon SES 的电子邮件发送日志以查看是否存在与验证电子邮件尝试相关的任何错误或警告。这些日志提供了有关交付失败的宝贵见解。
联系 Amazon SES 支持:如果问题仍然存在,请联系 Amazon SES 支持以获得进一步帮助。他们可以提供更深入的故障排除并检查其端是否存在任何潜在问题。
请记住向 Amazon SES 提供尽可能多的信息,包括您尝试过的具体电子邮件地址、尝试发送验证电子邮件的日期和时间、您遇到的任何错误消息或日志以及您已采取的步骤来解决问题。这将帮助他们加快解决过程。