Joshua Ohana
Joshua Ohana

Reputation: 6141

Amazon SES Error for VERIFIED address "MessageRejected: Email address is not verified"

I have an Amazon SES connection setup which is currently in Sandbox mode.

I have my email address, I use my real one but for this post let's call it [email protected]. It's verified in SES, in the email tab it says "verified" right next to it.

I have a Node app which sends the mail via Nodemailer

this.transporter = nodemailer.createTransport({
  SES: new aws.SES({ region: "us-east-1" })
});

this.defaultFromAddress = '[email protected]';

and then I send it with this.transporter.sendMail, with ALL email addresses being the same [email protected]

When I try to send an email, (both TO and FROM the same address, which is Verified on SES)

On send I get the below error

Error: MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: [email protected]

Any ideas how to fix?

update

Per the conversation below I triple confirmed both my region and email address is correct across both my code and AWS. The to and from address are the same, and is listed in AWS as "verified". I'm still having this issue and totally unsure how to proceed

update2

Sending a "Test Email" from the SES dashboard works just fine, using the same email addresses...

update3

It gets weirder! So we got out of Sandbox mode yesterday and are a normal SES account now. Same exact errors no matter what combo of to/from addresses I'm using. I'm always using a "verified" address as the FROM, and no matter the TO (even if it's also a verified address) I get the exact same error that

Error: MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: [email protected]

Upvotes: 5

Views: 11351

Answers (3)

Frozenex
Frozenex

Reputation: 490

Faced the same issue today. Wasted couple of hours on this.

SESv2Client library for node.js uses the default aws-cli config when the credentials config is not passed propery.

const ses = new SESv2Client({ 
    region: 'region-code',
    credentials: {
        accessKeyId: 'ABC',
        secretAccessKey: 'xyz'
    }
});

Upvotes: 1

TinaMarie
TinaMarie

Reputation: 131

We had a similar problem today, and after checking all the credentials and the SES dashboard, the answer turned out to be a case-sensitivity issue in the left-hand side of the address. The verified email was:

[email protected]

but I was setting

[email protected]

in the header, and that caused the verification to fail.

Upvotes: 2

Joshua Ohana
Joshua Ohana

Reputation: 6141

Okay so it turns out while I was running locally it was using the incorrect AWS credentials (for an other project). Still unsure how to fix but that's the actual problem nothing wrong with SES

Upvotes: 2

Related Questions