Moronic Mail Autoresponders (A FAQ From Hell)

This FAQ is first and foremost a classic example of trying to be cute while completely alienating the intended audience. I wrote it that way (including this paragraph :-) and now I'm too lazy and/or overworked to fix it. Be patient with all the sarcasm and, uh, "attitude"; there really is some useful technical stuff here.

Table of Contents

What? or An introduction to moronic autoresponders

Shirley, you must have sent mail to someone and received one of the following annoying types of response:
"I use this nifty email program (which typically isn't even free software) and look, it allows me to send autoreplies like this one. I just wanted to say 'egads'. Thank you for listening."
Do I look like I care?
"Your mail has been delivered to my mailbox and I will read it as soon as I can."
Astonishing. Are you sure it was really meant for you? If your mail system is so unreliable that delivery of a message is considered a major event, you should be sending this notification to your postmaster, not to me. (If you use some buggy proprietary mail system inside your company, such as cc:Mail or MS Exchange, I can understand that delivery of a message is considered special. But that's still your problem, not mine.)
Normally, I would expect a bounce if it wasn't delivered. And/or am I supposed to believe that you normally don't read your mail?
"A client of ours subscribes to our r4d k00l newbie mail service and you sent him a message, so we thought that would make it okay for us to spam you. Perhaps we'll be selling your address to a company which specializes in sending unsolicited commercial email, too."
Eat my shorts. This is so obnoxious. And do you think they rate-limit this dreck? No, you get one "friendly reminder" for each message you send to this person.
Here's a (reassuringly short, for now) list of domains which do this in case you would like to block their notices:
This is available as a separate text file, too. Click here to view and/or download: autoresponder-spammers.txt
(I would appreciate help with locating other domains which should be listed here. Please get in touch if you have that sort of information.)
I was also recently exposed to a service whose user documentation suggests you spam all your friends with an ad for this likewise r4d k00l new email feature you just got subscribed to so they can join the fun, too. It probably makes sense to respond to this kind of stuff with a spam complaint to the ISP of the user in question ...
"I am out of the office and will be back and read my mail on Friday the 13th."
This is annoying under the following circumstances:
It should be easy to deduce the following:
While we're at it, here are a few more rules which aren't really specific to this particular case:
"In an effort to avoid receiving spam, I ask you to key all your mail to me using the following secret word in the Subject: line: xyzzy"
This is barely tolerable if the autoresponder is otherwise set up correctly, but typically, you have some or all of the problems listed above (multiple notices, responses to mail you didn't particularly want to send to this person in the first place [perhaps you sent them to a mailing list], no trace of what the autoresponder is responding to).
I know, "Don't call me Surely."

More fun: Annoying bounce messages

Bounce messages are often confusing to newbies, because there's so much fluff there and nobody ever really told them how to deal with delivery problems in the real world. However, that's not what we are interested in here. For knowledgeable users, properly generated and formatted bounce messages are a useful way to find out about a problem and react in the appropriate way (if it's a transient error, just wait and see; call on the phone instead if there seems to be a major problem and you want your mail to get through, etc). Instead, we are getting annoyed by bounce messages which should never have been sent in the first place (or at least not sent where they were sent to).
"Your message to could not be delivered because this user doesn't exist at"
Great, I never sent mail to Phred. Probably I never even sent anything to anyone at Moreover, in the body of the bounce, we find a message I sent to a mailing list some time ago. But I can't do anything about this -- I didn't subscribe Phred, I don't know where he moved, I can't unsubscribe him, and frankly <blink>I don't care</blink> whether he gets this list or not.
This is a frequent configuration error with mailing lists (actually, it's a bug, dammit, not a configuration error). The list should set the envelope sender on outgoing mail to the list's owner (typically an alias like owner-list@site or list-request@site) so that s/h/it can take care of unsubscribing illegal addresses etc. without interfering with normal list operation. (By the way, a unique envelope sender also makes it much more convenient to unambiguously determine whether a message arrived via the list or perhaps as a private personal BCC.)
"The address is not known to the program which handles mail for Please get in touch with if you think that's strange."
This is a problem with older versions of Post.Office and I believe Netscape's mail server. The bounce includes a lengthy explanation for the newbie postmaster about what could be wrong. But why is that being sent to the person whose message is not getting through?
I use postmaster just as an example here, although it's typical for this error to occur on the postmaster address.
For what it's worth, the postmaster address must work properly for every system which is handling mail on the Internet. See RFC822.
If you get one of these, it's reasonable and responsible to look up the domain in question in whois and mail the administrative contact(s) for the domain about this problem (as well as possibly the technical contact and the upstream provider).
Incidentally, RFC2142 lists some standard addresses besides postmaster which should be implemented at modern sites. This codifies e.g. webmaster as the standard address for responding to problems with web pages, abuse for spam complaints, etcetera.
"The address is not known to the program which handles mail for Please get in touch with if you think that's strange."
A variant of the previous case. This would be funny if it wasn't so totally technically inept and, well, moronic. "551 <> ... we do not relay"
We're not attempting to relay, we're attempting to get in touch with your freaking local postmaster. See previous cases.
"MS Exchange could not deliver mail to Administrator 983.0.0.9 ybpnyubfg 917.45.986.14 njnl urp barf vomit"
You would receive this from a domain you have never heard about, but by examining headers in the bounced message and querying DNS, you find that you tried to mail not one but two users in a domain which this machine is MXing for. But do you think you are entitled to know which one is undeliverable? Nooo. It just reports which end point it couldn't reach. This is basically the same as the Friday the 13th example, although it's much more annoying because this time, you really knowingly tried to mail someone, and it didn't work out, and now, you'd probably like to know who you tried to contact, so you can e.g. call them on the phone instead.
I have $5 here which says, if you tried to mail a user in a domain and Cc: the postmaster, and get this response, the address which bounced will be the postmaster one.
There is a standard for bounce messages, RFC1894, which only a handful of MTAs currently implement. If bounce messages could be more standardized, it would be easier for developers of MUAs to try to present them to the user in meaningful ways. If you think that this problem will solve itself when Microsoft has bought, monopolized, and bastardized all MTAs worth their salt (because then we will all be one big happy family who are all using Microsoft products), think again. They can't even follow their own freaking "standards".

Where should the autoresponse/bounce go?

I've been too lazy to finish this section. If anybody with a good knowledge of RFC822 and related sources would like to fill me in, please do get in touch.

Meanwhile, the fun little chart which comes with formail is a reasonable approximation (if you look at the chart which describes the behavior with the -rt option!) The documentation isn't very explicit about it, but it's a slighly whimsical but pragmatic compromise between obeying the letter of the various standards out there and what works in practice.

For what it's worth, at least one fairly knowledgeable person insists that the envelope sender of whatever triggered the autoresponder should be the recipient for all automatically generated mail. (Keith Moore in comp.mail.mime, August 1999.) I happen to think it's a violation of RFC822, but it's a somewhat complex issue.

Corollary: Useful autoresponders

By contrast, the following types of responses actually tell you something you might need to know:
"I am extremely overworked, and will probably not be able to respond within what is considered a normal time frame (something like 3 days). I'll hopefully be able to get back to you after Christmas 2003."
Okay, we'll know to wait patiently for a reply from this guy. His autoresponder should not send more than one of these notices to the same address in, say, a week. And did I mention it should not respond to mailing list mail?
"Thank you for contacting the Department department of So And So, Inc. We're busy beavers here, but rest assured that we are dealing with your complaint/whatever. We don't usually send replies if it's a matter of a simple bug report or something; we simply fix the bug and that's it. If a reply is warranted, our staff will get back to you."
This tells you, essentially, that they will deal with the matter and not send you a personalized reply. This automatic reply (frequently affectionately referred to as "ignorebot") will do. This is pretty much the standard you get nowadays when you send a spam complaint or a service request to an ISP, for example.
The autoresponder might also tell you something about the type of information they will need in order to be able to resolve your issue, so you can follow up with this information if you didn't include it in your original message. Perhaps they will also issue you a ticket number to make it easier (kind of) for you to get directly in touch with the staff member who is dealing with your problem report if you need to follow up.

Where to get yours

The author of this FAQ has a strong preference towards Procmail, but there are of course other ways to make your own moronic autoresponder. The author's page of Procmail links contains a section near the end with pointers to information about other mail filtering systems (even for half-assed excuses for an operating system like Windows, with my condolences).

In the future, this section should probably be self-contained, and contain information about

If you feel like commenting on this FAQ, or submitting some changes, feel free to mail me (sorry about the form -- you know, defense against the morons).

Useful Links

For now, this is basically cannibalized out of my bookmarks file.

The following sites should be interesting:

Dan Bernstein's site
There's a good annotated index of mail header fields and recommendations for their use, with pointers to RFCs where available. Definitely bookmark stuff.
The Internet Mail Consortium
A bit too much of "something for everyone" but the information you want is probably there somewhere.
Eli the Bearded's Mail Addressing FAQ
Tangential to the topic of this FAQ, but worth a look for other reasons.
Dmoz: Computers: Internet: Protocols: Mail
... and perhaps also Servers: Mail: Autoresponder Services
I have a bigger link collection as part of the Procmail FAQ I maintain.

The use of the In-Reply-To and References headers is explained somewhat on the Bernstein pages. There are also practical usage notes on a good number of other header fields.

Sharing this useful resource with others

If you happen to know somebody at Microsoft who works on their mail applications and knows almost all the letters of the alphabet, make them read this. (You might also want to inform them about the existence of documents called "RFCs".)

The same goes for anyone else who needs this information.

However, you are not allowed to charge for this information, or claim that you wrote it. Because I did.

If you link to this page, please use this "official" URL instead of whatever it is that your moronic browser wants to make you think you are currently viewing:
Thanks. Hope this helps. Where am I?

Nathan Says Hi!

$Id: autoresponder-faq.prep,v 1.20 1999/08/24 10:49:17 reriksso Exp $