Why are the emails that I send through Amazon SES not getting delivered?
Last updated: 2020-04-30
I'm using Amazon Simple Email Service (Amazon SES) to send emails, but my emails are failing to be delivered. Amazon SES generated message IDs, but the emails still haven't been delivered. How can I fix this?
To identify and resolve what's preventing your emails from getting delivered, check the following:
There's a template rendering failure
If you send incorrect template data while you send emails using the SendTemplatedEmail API operation, then you can get a Rendering Failure. To identify this type of failure, you must set up Rendering Failure event notifications using Amazon Simple Notification Service (Amazon SNS).
There's an issue with the email recipient email address
Your emails might not be delivered because there's a problem with the recipient email address that results in a bounce. Your emails can result in a bounce if the email address doesn't exist, the recipient's mailbox is full, your sending domain has a poor reputation, or your sending IP address has a poor reputation.
Additionally, your emails might not be delivered because the recipient email address is either on your account's suppression list, or the Amazon SES global suppression list. To remove an email address from your account's suppression list, see Removing an Email Address from the Suppression List for Your Account. To remove an email address from the global suppression list, see Removing an Address From the Global Suppression List.
There's an issue with the email recipient server
To determine if there's an issue with the email recipient server that's preventing your emails from getting delivered, you can set up Amazon SNS notifications for your Amazon SES emails. Then, in the Amazon SNS notifications, review the smtpResponse that Amazon SES returns. For more information on the details included in the SNS notifications, see Amazon SNS Notification Contents for Amazon SES.
If Amazon SES receives an SMTP 250 OK response from the recipient SMTP server, then Amazon SES has successfully sent the message to that mail server. However, the 200 OK response doesn't guarantee that the message is delivered to the receiving email address. After Amazon SES delivers the message to the recipient server, the recipient server's policies determine whether to deliver the message to an inbox or spam folder, or to reject the message entirely. Each email service provider determines whether the email is accepted, rejected, or classified.
Additionally, the recipient server might be experiencing a problem that results in the email not getting stored on the receiver's mailbox.
Your email is getting labeled as spam
Recipient email servers can filter your emails as spam for several reasons, such as:
- Email authentication failures related to Domain-based Message Authentication, Reporting and Conformance (DMARC), Sender Policy Framework (SPF), or DomainKeys Identified Mail (DKIM)
- Issues with email content quality or sender reputation
For more information, see Why are the emails that I send using Amazon SES getting marked as spam?
There's a sending delay
Instead of your email not getting delivered at all, there might be a delay in the process of sending your email. For more information, see Three places where your email could get delayed when sending through SES.
There's an ongoing issue with the Amazon SES service
Review the AWS Service Health Dashboard for any known issue with the Amazon SES service that's preventing the successful delivery of your email.