AWS SES "Email address is not verified" (sandbox) in CI
In the SES sandbox, SES rejects sends with "Email address is not verified. The following identities failed the check in region ...". While sandboxed, both the from address and every recipient must be verified identities. CI notifications to unverified team addresses fail until you leave the sandbox.
What this error means
A SES SendEmail call returns a MessageRejected error listing the unverified from or to addresses. No mail is delivered.
An error occurred (MessageRejected) when calling the SendEmail operation:
Email address is not verified. The following identities failed the check in
region US-EAST-1: ci@example.com, team@example.comCommon causes
The account is still in the SES sandbox
Sandbox accounts can only send between verified identities, so unverified recipients are rejected.
The from or to identity was never verified
A new sender or a new recipient alias has no verified identity in that region.
How to fix it
Verify the identities or request production access
- Verify the from address or domain in the SES console for the region you send from.
- While sandboxed, verify each recipient too.
- Request production access to remove the recipient restriction.
aws ses verify-email-identity --email-address ci@example.com --region us-east-1Match the region to the verified identity
Identities are per region; send from the same region where they are verified.
aws ses send-email --region us-east-1 \
--from ci@example.com --destination ToAddresses=team@example.com \
--message 'Subject={Data=build passed},Body={Text={Data=ok}}'How to prevent it
- Request SES production access before relying on it for CI notifications.
- Verify the sending domain so any from address on it works.
- Keep the send region aligned with your verified identities.