使用Laravel通过amazon ses发送邮件

时间:2017-03-13 10:49:35

标签: php laravel amazon-web-services zend-framework amazon-ses

我尝试使用来自自定义发件人地址的amazon SES通过Laravel发送邮件。当我尝试发送它时,我有这个错误:

  

异常'Aws \ Ses \ Exception \ SesException',消息'错误执行“SendRawEmail”on“https://email.us-east-1.amazonaws.com”; AWS HTTP错误:客户端错误:POST https://email.us-east-1.amazonaws.com导致400 Bad Request响应:

     

&lt; ErrorResponse xmlns =“http://ses.amazonaws.com/doc/2010-12-01/”&gt;     &LT;错误&GT;       &LT;类型&GT;发件人&LT; /类型&GT;       &lt;代码&gt; MessageReje(截断...)    MessageRejected(客户端):未验证电子邮件地址。以下身份未通过检查区域US-EAST-1:=?utf-8?Q?Rapha = C3 = ABl?= XXXXX&lt; XXXXX@XXXXX.com> ;, XXXXX@XXXXX.com - &lt; ErrorResponse xmlns = “http://ses.amazonaws.com/doc/2010-12-01/">     &LT;错误&GT;       &LT;类型&GT;发件人&LT; /类型&GT;       &LT;代码&GT; MessageRejected&LT; /代码&GT;       &lt;消息&gt;未验证电子邮件地址。以下身份未通过检查区域US-EAST-1:=?utf-8?Q?Rapha = C3 = ABl?= XXXXX&lt; raphaelht@gmail.com> ;, XXXXX@XXXXX.com< / Message&gt;     &LT; /错误&GT;     &LT;&的requestId GT; ee2403e6-07d7-11e7-83bf-69ca6c084a61   &LT; /错误响应&GT;

所以我的发件人邮件地址似乎不被接受。另一方面,使用相同的Amazon帐户使用Zend Framework(我没有构建它)构建的一个应用程序适用于相同的发件人地址。

我认为接受“随机”发件人地址有一些事情要做(它适用于Zend)。在Zend应用程序的配置中,还有一个SES信息:

'arn' => array(
    'emails' => 'arn:aws:sns:us-east-1:xxxxxxxxx:Emails'
),

这条线是否有效?我如何用Laravel做同样的事情?

2 个答案:

答案 0 :(得分:1)

您只能在验证电子邮件地址(FROM字段中的电子邮件)后发送电子邮件。这是反垃圾邮件/反网络钓鱼措施。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html

答案 1 :(得分:0)

如果您有限制,只能将邮件发送到经过验证的电子邮件地址和域,或者发送到Amazon SES邮箱模拟器。

比您在SES沙箱中的多。

您需要从Amazon SES沙箱中删除您的帐户

在此处了解更多信息

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html