Электронная почта SES не проверена для поля в 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('[email protected]', '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>

Мой адрес и домен подтверждены.

If I do:

...
], function ($m) use ($name, $email) {
        $m->from('[email protected]', 'Subject');
        $m->to('[email protected]', $name)->subject('Your Booking');
    });

Он отлично работает, но совершенно бесполезен.

Как мне заставить это работать, чтобы я мог отправлять электронные письма пользователям, которые заполняют мою форму?


person imperium2335    schedule 27.03.2016    source источник
comment
Из интереса, что выводит var_dump($email); die() непосредственно перед $m->to($email, $name)->subject('Your Booking'); ?   -  person Chris    schedule 27.03.2016
comment
@Chris строка '[email protected]' (длина = 18)   -  person imperium2335    schedule 27.03.2016
comment
Я здесь просто резонатор, но если вы скопируете и вставите вручную, как во втором примере: $m-›to('[email protected]', $name)-›subject('Ваше бронирование') ; Это работает?   -  person Chris    schedule 27.03.2016
comment
@ Крис Нет, я получаю сообщение об ошибке.   -  person imperium2335    schedule 27.03.2016
comment
Опять просто мозговой штурм - возможно ли, что ваш [email protected] работает, но @email не работает, потому что это какой-то зарезервированный домен?   -  person Chris    schedule 27.03.2016


Ответы (1)


Он жалуется, что ваш адрес To: email не подтвержден. Похоже, вы находитесь в режиме SES Sandbox. Пока вы не измените свою учетную запись SES на учетную запись production, вам также необходимо подтвердить свой Sender адрес электронной почты.

Когда вы тестировали, и From, и To являются вашими адресами электронной почты (которые уже проверены).

Из: Проверка адресов электронной почты в Amazon SES

Пока ваша учетная запись не выйдет из изолированной программной среды Amazon SES, вы также должны подтвердить адрес электронной почты каждого получателя, кроме получателей, предоставленных симулятором почтового ящика Amazon SES. Дополнительные сведения о симуляторе почтовых ящиков см. в разделе Тестирование отправки электронной почты Amazon SES. Дополнительные сведения о выходе из песочницы см. в разделе Выход из песочницы Amazon SES.

Выход из песочницы Amazon SES

person helloV    schedule 27.03.2016