SES电子邮件未验证“;至“;Laravel的田地


SES Email not verified for "to" field in Laravel

我有:

Mail::send('emails.booking-confirmation', [
        'name' => $name,
        'email' => $email,
        'tel' => $tel,
        'msg' => $msg,
        'date' => Carbon::parse($date)->format('l, jS 'o'f F, Y 'a't H:ia'),
        'service' => $q->service,
        'duration' => $q->duration . ' minutes'
    ], function ($m) use ($name, $email) {
        $m->from('myemail@ddress.co.uk', 'Subject');
        $m->to($email, $name)->subject('Your Booking');
    });

当使用AWS SES发送时,我得到:

Error executing "SendRawEmail" on "https://email.eu-west-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.eu-west-1.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. - <ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>MessageRejected</Code>
<Message>Email address is not verified.</Message>
</Error>
<RequestId>8551cf11-f420-11e5-b4ac-bf30e6ff71ee</RequestId>
</ErrorResponse>

我的地址和域已验证。

如果我这样做:

...
], function ($m) use ($name, $email) {
        $m->from('myemail@ddress.co.uk', 'Subject');
        $m->to('myemail@ddress.co.uk', $name)->subject('Your Booking');
    });

它工作得很好,但完全没有用。

我如何做到这一点,以便向填写我的表格的用户发送电子邮件?

它抱怨您的To: email地址未经验证。看起来您处于SES Sandbox模式。在您将SES帐户更改为production帐户之前,您还必须验证您的Sender电子邮件地址。

测试时,FromTo都是您的电子邮件地址(已验证)。

发件人:验证亚马逊SES 中的电子邮件地址

在您的帐户退出亚马逊SES沙箱之前,您还必须验证除收件人之外的每个收件人的电子邮件地址由亚马逊SES邮箱模拟器提供。有关详细信息关于邮箱模拟器,请参阅测试亚马逊SES电子邮件发送。对于有关移出沙盒的详细信息,请参阅移出亚马逊SES沙盒。

搬出亚马逊SES沙盒