Email address is not verified AWS SES
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Understanding "Email Address Not Verified" in AWS SES
Amazon Simple Email Service (AWS SES) is a reliable, scalable, and cost-effective email service built on the same highly scalable infrastructure used by Amazon.com to serve its customers. However, for security and controlling purposes, AWS SES requires all email addresses or entire domains to be verified before they can be used to send emails. This process prevents unauthorized use of email identities. Let's delve into the details of why this requirement exists, how to verify an email address or domain, and what technical considerations to bear in mind.
Why Verification is Required
Security and Anti-Spam Measures
Verification is crucial in preventing malicious or unauthorized usage of your email addresses within AWS SES. By verifying an identity, you confirm ownership and ensure that the service is used only by legitimate users. This is especially important in avoiding spam, phishing, and other forms of email abuse.
Domain Authenticity
Verification also helps maintain domain authenticity, ensuring the identity of the sender is legitimate. This aids in building recipient trust, improving deliverability rates, and protecting the sender’s reputation.
How to Verify an Email Address
The process to verify an email with AWS SES can be done via the AWS Management Console, AWS CLI, or AWS SDKs. Below are the steps using the AWS Management Console:
AWS Management Console
- Log in: Access the AWS Management Console and navigate to the SES section.
- Identity Management: On the SES dashboard, select "Verified Identities" from the navigation pane.
- Verify Email: Click on "Create Identity" → "Email Address".
- Input Details: Enter the email address to verify. Optionally, you can provide a display name that distances the email identity.
- Verification Email: SES sends a verification email to the specified address. Click on the verification link included in this email to confirm the email address.
AWS CLI Example
For those comfortable with CLI, you can initiate verification using this command:
Post Verification
Once verified, you can check the verification status using:
Common Errors and Troubleshooting
It's crucial to ensure that the email used for verification is valid and capable of receiving emails. Here are common errors one might encounter along with steps to troubleshoot:
- Email Not Received: Check spam or junk folders. Ensure that filters aren't blocking SES emails.
- Verification Link Expired: The link must be used within 24 hours. Requests must be resent if the link expires.
- Wrong Email: Re-initiate the process with the correct email address if there was a typographical error.
Domain Verification
For business purposes, verifying entire domains rather than individual email addresses is more efficient. Here's how you can do it:
DNS Verification
- Domain Selection: In the SES console, choose "Create Identity" → "Domain".
- Add DNS Records: AWS will provide a set of DNS records to be added to your domain's DNS configuration. These records include Domain Keys Identified Mail (DKIM) records, which enhance email deliverability.
- Verification: After DNS propagation, AWS automatically verifies these records.
Tabular Summary of Key Steps
Below is a comparative summary table for verifying email versus domain:
| Step | Email Verification Steps | Domain Verification Steps |
| 1. Access SES | AWS Management Console | AWS Management Console |
| 2. Choose Type | Email Address | Domain |
| 3. Provide Identity | Enter the specific email address | Enter the domain name |
| 4. AWS Action | Sends verification email | Provides DNS records |
| 5. User Action | Click verification link | Add records to DNS configuration |
| 6. Final Verification | Automatic upon link click | Automatic post DNS propagation |
Additional Considerations
Sending Limits
AWS imposes sending limits on accounts. Initially, you have a sandbox account with restrictions. To transition to production, a successful verification of emails or domains is pivotal. Furthermore, specific approval requests need to be made, which might include business details and use-case explanations to AWS support.
Monitoring and Feedback
Using AWS SES’s feedback loops like Bounce and Complaint Notifications, allows for monitoring delivery issues in real-time.
Security Protocols
Utilizing DKIM and SPF (Sender Policy Framework) can drastically improve the trustworthiness of your SES-sent emails. Implementing these protocols requires additional DNS configurations that AWS provides during verification.
By understanding these verification steps and technical considerations within AWS SES, users can effectively maximize the value of AWS SES, ensuring secure and reliable email communication.
Related reading
- Empty ADDRESS kubernetes ingress
- Empty String Validation Exception - DynamoDB
- Enable CORS for API Gateway in Cloudformation template
- Enable Lambda function to an S3 bucket using cloudformation
- Embedded Kafka integration test - consumer never completes
- Embedded Kafka tests randomly failing
- Enable logical replication on Google Cloud Postgres
- Enable S3 ACL access for CloudFront logs

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.