Message rejected: Address blacklisted

What is this error "Message rejected: Address blacklisted" all about you wonder. You probably send some emails with Amazon SES and this message is returned instead of some success message.

Misleading message

First off, the error is a little annoying because the message is misleading. Well technically speaking the message is correct, your message has been rejected and and an address is blacklisted. The misleading part is that it doesn't tell you why an address is blacklisted. Not to mention which address and you will always have two addresses at least, a sender and a recipient address. The good news it's most likely not the sender.

Hard bounce

The blacklisted address is probably the result of a hard bounce. When you send an email to an address and the destination mail server doesn't have a mailbox for the address it will return a message telling you that there isn't an account. This hard bounce is also known as persistent delivery failure. as in: no matter how often you will try this it will fail. I'm sure you have come across such an error with your own emails.

The problem here with Amazon's SES is that they take some, lets call it precautionary, action with such a return message. To some extend I agree with this but then again I don't.

As just mentioned, if you have your regular email account you will see such a hard bounce in your email inbox usually within seconds or at least with your next replication or log in. With Amazon SES you may not get the bounce message because for the most part this Simple Email Service does is nothing like your regular email client. Its main purpose is to send and not receive messages.

That's a major differnet and a serious problem and especially if you don't have a valid and verified Return-Path in your email message the bounce message goes nowhere. Well, actually it goes back to Amazon's SES but there it dissapears because it is not a mail server, i.e. it cannot deliver such a message because there is no mailbox. Your application incorporating the service cannot behave like an email client and if you don't have a proper Return-Path set in all your email you will never learn about any bounce.

I'm afraid that's why Amazon takes precautionary action and returns an error once it knows about an invalid email address.

See the following for more information about the Anatomy of an Email Message written by the good folks at Amazon SES. You should also take the time and look at the other documents in that documentation.

Soft bounce

Just for completeness, a soft bounce is failure which is temporary or not persistent. The message has not been delivered to the addressed mailbox because of a problem like a full mailbox or other limitations like a attachment that is to big.

SES Blog

In their Amazon SES Blog, author Jenn Steele, addresses this error and that they set a bounced address on a 14 day blacklist.

So in essence the error is for letting you know that there is a problem because if your email application using Amazon SES is not designed to learn about a hard bounce you will never know. By rejecting your whole message you probably will learn about it, though.

Again, I believe it is annoying to reject the whole message and not mentioning which address is the culprit but that's how it is. Find the failing address from your recipient list and you should be good to go again.