AWS SES
Email Verification
Cloud Computing
Simple Email Service
AWS Troubleshooting

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.

Practice system design

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

  1. Log in: Access the AWS Management Console and navigate to the SES section.
  2. Identity Management: On the SES dashboard, select "Verified Identities" from the navigation pane.
  3. Verify Email: Click on "Create Identity" → "Email Address".
  4. Input Details: Enter the email address to verify. Optionally, you can provide a display name that distances the email identity.
  5. 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:

 
aws ses verify-email-identity --email-address example@example.com

Post Verification

Once verified, you can check the verification status using:

 
aws ses get-identity-verification-attributes --identities example@example.com

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

  1. Domain Selection: In the SES console, choose "Create Identity" → "Domain".
  2. 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.
  3. 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:

StepEmail Verification StepsDomain Verification Steps
1. Access SESAWS Management ConsoleAWS Management Console
2. Choose TypeEmail AddressDomain
3. Provide IdentityEnter the specific email addressEnter the domain name
4. AWS ActionSends verification emailProvides DNS records
5. User ActionClick verification linkAdd records to DNS configuration
6. Final VerificationAutomatic upon link clickAutomatic 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
Course
Beginner
27 lessons
10 hours
System Design Fundamentals

Build a strong foundation in designing scalable, reliable distributed systems.

View the course
Track 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.

Practice system design

All Rights Reserved.