我正在使用php发送电子邮件与亚马逊SES和使用这个github库
https://github.com/okamos/php-ses#getting-started
但是当我发送时,我得到这个错误我的邮箱和域名都经过验证
"MessageRejected" ["description"]=> string(134) "Indicates that the action failed, and the message could not be sent. Check the error stack for a description of what caused the error." }
当我在aws中检查这个错误时,我发现这个
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/troubleshoot-error-messages.html
这里的表示
如果直接调用Amazon SES API, Query操作将返回一个错误。该错误可能是messagererejected,也可能是Amazon Simple Email Service API Reference的Common errors主题中指定的错误之一。
我们错过了什么?
require 'autoload.php';
require 'src/ses.php';
$ses = new SimpleEmailService(
'xxxxxxxxx',
'xxxxxxxxxxxx',
'us-east-1'
);
$envelope = new SimpleEmailServiceEnvelope(
'noreply@xxxxxxxx.com',
'This is test email',
'Hello how are you. this is test email'
);
$envelope->addTo('ffffff@hhhhh.com');
$requestId = $ses->sendEmail($envelope);
var_dump($requestId);
为什么会出现这个错误
当您通过SES发送邮件时,特别是当您发送大量邮件时,最佳实践是使用队列。例如,您可以使用AWS SQS通过SES发送邮件,从而避免该问题。