Error: MessageRejected (Amazon SES)
Amazon SES accepted the request but refused to send this message. The text after MessageRejected says why: identity, sandbox, suspension or content.
This article is for sites using the Amazon SES mailer where a send fails with MessageRejected.
The error as you see it
MessageRejected: … followed by a short reason from SES, for example Sending paused for this account.
Shown by the Amazon SES mailer, in the failed-send banner, in Tools → Debug Events and in the Email Log.
What this error means
Your credentials worked and SES read the message, but it decided not to send it. MessageRejected is a family name: the reason that follows is what matters. The most common reason, an unverified address, has its own article: Email address is not verified. This article covers the rest.
Common causes
- Sending is paused or the account is under review. SES pauses accounts whose bounce or complaint rates climb too high, or that break the service terms.
- The account is still in the sandbox and the recipient is not verified.
- The message contains a virus or a blocked attachment type, such as an executable file.
- A configuration set named in the message does not exist, or a configuration set is set to stop sending.
- The message is too large. SES limits the total size of a message, including attachments.
- An invalid address in a To, Cc, Bcc or Reply-To field.
How to fix
- Read the reason
Open CRM-NG SMTP → Tools → Debug Events and look at the newest Email Sending Errors entry. Note the words after
MessageRejected:. - Check account status
Sign in to
https://console.aws.amazon.com/ses/, select the region set in the plugin's Region field, and open Account dashboard. Look for sandbox status, a sending pause, or a review notice. Follow the steps SES lists there; for a review, reply through the AWS Support case it refers to. - Check reputation
Under Account dashboard (or the reputation metrics page, depending on the console version), look at bounce and complaint rates. High rates usually come from sending to old or bought lists, or from contact forms abused by bots. Fix the source before asking SES to resume.
- Check the message
If the reason mentions a virus, attachment or size, look at the email in CRM-NG SMTP → Settings → Email Log and remove or shrink the attachment in the plugin that adds it.
- Check addresses
If an address is called invalid, open the log entry and look for typos or empty Reply-To values coming from a form.
- Send a test
Go to CRM-NG SMTP → Tools → Email Test, fill in Send To (a verified address if you are in the sandbox) and press Send Email.
Verify it worked
The test page shows "Test email sent successfully! Check your inbox to confirm delivery." Then check that the email type that failed before now shows as sent in the Email Log.
Notes
- A sending pause is a warning about list quality. Turn on Enable local email logging on the Email Log tab so you can see what the site sends, and check the bounce and complaint rates in the SES console regularly.
- If SES says the identity is not verified, go to Email address is not verified.
