Reputation: 8877
I'm trying to send email on AWS SES. I'm using Laravel to do that, using the built in Mail
methods.
AWS is giving me the error:
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 i ▶
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">\n
<Error>\n
<Type>Sender</Type>\n
<Code>MessageReje (truncated...)\n
MessageRejected (client): Email address is not verified. The following identities failed the check in region EU-WEST-1: example1@gmail.com - <ErrorResponse x ▶
<Error>\n
<Type>Sender</Type>\n
<Code>MessageRejected</Code>\n
<Message>Email address is not verified. The following identities failed the check in region EU-WEST-1: mgriffiths@gmail.com</Message>\n
</Error>\n
<RequestId>645a3241-342f-11e8-8a1c-7ffffe0019e2</RequestId>\n
</ErrorResponse>\n
I understand the error. I have not validated the example1@gmail.com address. HOWEVER, that is the address I am SENDING TO. The address I am SENDING FROM is noreply@mydomain.com, which IS validated in AWS SES console.
What am I doing wrong?
My code:
Mail::to('example1@gmail.com')->send(new TestMailable());
And:
public function build()
{
return $this->view('emails.test_email')
->subject('Test Email '. time())
->from('noreply@mydomain.com');
}
To re-iterate, noreply@mydomain.com
IS verified in AWS.
Upvotes: 5
Views: 8765
Reputation: 11718
You might be using the sandbox account. In which case even the receivers need to be validated.
In sandbox account following restriction apply
You need production account to send to unverified receivers
See Moving out of sandbox account for details about how to get the production account
Upvotes: 9