Wraps Logo
Amazon SES reference

Amazon SES error codes

12 exceptions, each with the literal string AWS returns and what to do about it. The remediation on every page is adapted from the Wraps CLI's own error catalog, which has to explain these failures to people mid-command.

Identity and verification

The request reached SES and SES refused it over what is, or is not, verified.

AWS exceptionWhat AWS saysWraps code
MessageRejectedSMTP 554Email address is not verified. The following identities failed the check in region US-EAST-1: sender@example.comSES_MESSAGE_REJECTED
ConfigurationSetDoesNotExistExceptionConfiguration set <ConfigurationSetName> does not exist.SES_CONFIG_SET_MISSING
MailFromDomainNotVerifiedExceptionAmazon SES could not read the MX record required to use the specified MAIL FROM domain.SES_MAIL_FROM_NOT_VERIFIED

Throughput and quota

The send was well formed and you asked for more than the account is allowed right now.

AWS exceptionWhat AWS saysWraps code
ThrottlingSMTP 454Throttling: Maximum sending rate exceededAWS_THROTTLED
LimitExceededExceptionSMTP 454Daily message quota exceededAWS_LIMIT_EXCEEDED

Account and configuration set state

Sending is switched off, either for the whole account or for one configuration set.

AWS exceptionWhat AWS saysWraps code
AccountSendingPausedExceptionEmail sending is disabled for your entire Amazon SES account.SES_ACCOUNT_SENDING_PAUSED
ConfigurationSetSendingPausedExceptionEmail sending is disabled for the configuration set <ConfigurationSetName>.SES_CONFIG_SET_SENDING_PAUSED

Credentials and permissions

The request never got past authentication or authorization, so SES never saw the message.

AWS exceptionWhat AWS saysWraps code
InvalidClientTokenIdThe security token included in the request is invalid.ACCESS_KEY_INVALID
SignatureDoesNotMatchThe request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method.ACCESS_KEY_INVALID
UnrecognizedClientExceptionThe security token included in the request is invalid.ACCESS_KEY_INVALID
ExpiredTokenExceptionThe security token included in the request is expired.SESSION_TOKEN_EXPIRED
AccessDeniedExceptionUser: arn:aws:iam::123456789012:user/dev is not authorized to perform: ses:SendEmail on resource: arn:aws:ses:us-east-1:123456789012:identity/example.comIAM_PERMISSION_DENIED

Not the error you have

These are the AWS exceptions the Wraps CLI maps to specific guidance. Anything else it surfaces as the real AWS error code rather than guessing, because the failure mode worth avoiding is a tool that reports every unknown AWS error as a credentials problem. The Wraps-side codes are documented separately in the CLI error reference.

For the operational side of SES rather than a specific exception, start at running Amazon SES in production.