Friendly 'noreply' email addresses

August 11, 2011

In yet another installment of me writing things aimed at people who will never read them, I have some opinions on 'noreply' email addresses. I have these opinions because, of course, our mail system has its usual modest pile of email attempting to be delivered to some of those noreply addresses.

(My real opinion is that you shouldn't use any sort of noreply address at all. For a start, it's a terrible user experience. And apart from that, handling bounces is part of responsible mailing practices.)

Here is the thing about noreply addresses: they don't work. People reply to them. Sometimes they are real people; sometimes they are automated systems (such as vacation messages) that are acting on behalf of people. Either way other people's systems are going to try to deliver email to your noreply address, and these delivery attempts are not 'wrong' just because you sent out email from 'noreply@' or put various headers on the original message.

(If you really wanted no replies, you would have sent the email out from the null envelope sender. Of course that sometimes has other side effects, but that's not our problem.)

The unfriendly way to handle your noreply addresses is to make such email sit around endlessly on other people's mail systems. You can do this in one of two ways; your mail system can 4xx such messages, or the domain of your noreply address can be something that more or less exists but doesn't respond to SMTP. The friendly way to handle noreply addresses is the reverse of this, to make your noreply address either bounce immediately or be delivered but go to /dev/null.

(I have no opinion on which option is friendlier, because they are both bad. But then so are noreply addresses.)

Either option is quite easy to implement, and neither will particularly consume much of your resources even with lots of delivery attempts. Modern mailers on modern hardware are quite efficient, especially if they are rejecting everything, and if you have extremely special needs it's not particularly difficult to create a custom single-process asynchronous SMTP listener that just 5xx's all RCPT TOs. If a properly set up noreply-handling mail environment moves the load meter on even a small virtual machine, you are dealing with a major amount of incoming traffic to your noreply address's domain. Perhaps you should look into why that's happening.

Written on 11 August 2011.
« The 'key plus authenticator' pattern in web apps
One reason we install machines from checklists instead of via automation »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Aug 11 01:25:18 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.