Mike
Mike

Reputation: 8877

Unable to send mail on AWS SES, email not verified

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: [email protected] - <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: [email protected]</Message>\n
  </Error>\n
  <RequestId>645a3241-342f-11e8-8a1c-7ffffe0019e2</RequestId>\n
</ErrorResponse>\n

I understand the error. I have not validated the [email protected] address. HOWEVER, that is the address I am SENDING TO. The address I am SENDING FROM is [email protected], which IS validated in AWS SES console.

What am I doing wrong?

My code:

Mail::to('[email protected]')->send(new TestMailable());

And:

public function build()
{
    return $this->view('emails.test_email')
        ->subject('Test Email '. time())
        ->from('[email protected]');
}

To re-iterate, [email protected] IS verified in AWS.

Upvotes: 5

Views: 8763

Answers (1)

Arafat Nalkhande
Arafat Nalkhande

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 can only send mail to the Amazon SES mailbox simulator and to verified email addresses and domains only

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

Related Questions