Amazon SES email sending errors - Amazon Simple Email Service

Amazon SES email sending errors

This topic reviews the types of email sending-specific errors that you may encounter when you send an email through Amazon SES. If you try to send an email through Amazon SES and the call to Amazon SES fails, Amazon SES returns an error message to your application and does not send the email. The way that you observe this error message depends on the way that you call Amazon SES.

  • If you call the Amazon SES API directly, the Query action will return an error. The error may be MessageRejected or one of the errors specified in the Common Errors topic of the Amazon Simple Email Service API Reference.

  • If you call Amazon SES using an AWS SDK that uses a programming language that supports exceptions, Amazon SES may throw an exception. The type of exception depends on the SDK and on the error. For example, the exception could be an Amazon SES MessageRejectedException (the actual name may vary depending on the SDK) or a general AWS exception. Regardless of the type of exception, the error type and the error message in the exception will give you more information.

  • If you call Amazon SES through its SMTP interface, the way that you experience the error depends on the application. Some applications might display a specific error message, and others might not. For a list of SMTP response codes that Amazon SES returns, see SMTP response codes returned by Amazon SES.

Note

When your call to Amazon SES to send an email fails, you are not billed for that email.

The following are the types of Amazon SES-specific problems that can cause Amazon SES to return an error when you try to send an email. These errors are in addition to general AWS errors like MalformedQueryString as specified in the Common Errors topic of the Amazon Simple Email Service API Reference.

  • Email address is not verified. The following identities failed the check in region region: identity1, identity2, identity3—You are trying to send email from an email address or domain that you have not verified with Amazon SES. This error could apply to the "From", "Source", "Sender", or "Return-Path" address. If your account is still in the Amazon SES sandbox, you also must verify every recipient email address except for the recipients provided by the Amazon SES mailbox simulator. If Amazon SES is not able to show all of the failed identities, the error message ends with an ellipsis.

    Note

    Amazon SES has endpoints in multiple AWS Regions, and email address verification status is separate for each AWS Region. You must complete the verification process for each sender in the AWS Regions you want to use.

  • Account is paused—Your account's ability to send email is paused. You can still access the Amazon SES console and perform most operations. However, if you try to send an email, you receive this message.

    If we pause your account's ability to send email, we automatically send a notification to the email address associated with your AWS account. For more information, see Amazon SES Sending review process FAQs.

  • Throttling—Your application may be trying to send too many messages per second, or you may have sent too much email over the last 24 hours. In these cases, the error message may be similar to the following examples:

    • Daily message quota exceeded—You have sent the maximum number of messages that you are permitted in a 24-hour period. If you have exceeded your daily quota, you will have to wait until the next 24-hour period before you can send more email.

    • Maximum sending rate exceeded—You are attempting to send more emails per second than is permitted by your maximum send rate. If you have exceeded your sending rate, you can continue to send email, but will need to reduce your send rate. For more information, see How to handle a "Throttling - Maximum sending rate exceeded" error on the AWS Messaging and Targeting Blog.

    • Maximum SigV2 SMTP sending rate exceeded—You are attempting to send messages using SMTP credentials created before January 10, 2019; your SMTP credentials were created using an older version of the AWS Signature. For security purposes, you should delete credentials that you created before this date, and replace them with newer credentials. You can delete older credentials by using the IAM console. For more information, see Obtaining Amazon SES SMTP credentials for creating credentials.

    You should regularly monitor your sending activity to see how close you are to your sending quotas. For more information, see Monitoring your Amazon SES sending quotas. For general information about sending quotas, see Managing your Amazon SES sending limits. For information about how to increase your sending quotas, see Increasing your Amazon SES sending quotas.

    Important

    If the error text that explains the throttling error is not related to you exceeding your daily quota or maximum send rate, then there might be a system-wide problem that is causing reduced sending capabilities. For information about the service status, go to the AWS Service Health Dashboard.

  • There are no recipients specified—No recipients were provided.

  • There are non-ASCII characters in the email address—The email address string must be 7-bit ASCII. If you want to send to or from email addresses that contain Unicode characters in the domain part of an address, you must encode the domain using Punycode. Punycode is not permitted in the local part of the email address (the part before the @ sign) nor in the "friendly from" name. If you want to use Unicode characters in the "friendly from" name, you must encode the "friendly from" name using MIME encoded-word syntax, as described in Sending raw email using the Amazon SES API v2. For more information about Punycode, see RFC 3492.

  • Mail FROM domain is not verified—Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information setting up custom MAIL FROM domains, see Using a custom MAIL FROM domain.

  • Configuration set does not exist—The configuration set that you specified does not exist. A configuration set is an optional parameter that you use to publish email sending events. For more information, see Monitor email sending using Amazon SES event publishing.