
kyle-qmail at memoryhole
Nov 2, 2009, 8:54 AM
Post #7 of 7
(412 views)
Permalink
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On Monday, November 2 at 05:06 AM, quoth John Levine: >> It depends on when the error is given. For example, if a 554 error is >> given upon connection, what does it mean? > > According to RFC 5321 it means "No SMTP service here", or to put it > more concisely, FOAD. Whatever you thought you were going to send, > forget it, treat it as a failure and don't try again. RFC 5321 is a draft barely a year old, so you'll forgive me for not being intimately familiar with its contents (heck, DKIM is more venerable). :) The behavior that I was describing is often used by misguided administrators following a policy whereby their most-preferable (lowest-ranked) MX record is a fake "SMTP" server that responds to all commands with a 554 error. The idea (and, as far as I can see, RFC 5321 merely codifies this idea) is that the sender should then re-attempt the delivery by contacting the next-most-preferable MX. It should not cause a termination of the message you were attempting to deliver, but should instead be treated as if the connection could not be established. (You'd think that simply refusing the connection would be easier and more efficient, but...) Section 4.2.2 says: 554 Transaction failed (or, in the case of a connection-opening response, "No SMTP service here") Now, given that a greeting 554 is technically (according to this RFC) part of the SMTP protocol, that's kinda like saying "I do not speak English". But it's explicitly *not* saying FOAD, and as far as I can see should have the exact same effect as simply refusing the connection. But perhaps I'm misreading this new RFC. Where does it say that the error should be treated as a permanent termination of any and all messages you were intending to deliver? >> answer is: no, of course not. Just because it's a 5xx error doesn't >> mean that the *message* was permanently rejected. > > Well, yeah, actually, it does. Typically it means that the host > has blacklisted you and doesn't want your mail. Really? In my experience, it virtually always means the admin of the recipient domain is following a (broken) modified "nolisting" anti-spam policy. >> Here's another example: when I send the SMTP command "QUIT", the >> server I'm connected to is SUPPOSED to respond with a 221 code. By >> that point it's already claimed to have successfully accepted all >> messages that I've sent. But if the server respond with a 554 code >> instead, what does THAT mean? > > That's broken, QUIT can only return 221. Treat it any way you want. I agree that it's broken; but my point is that recipient servers can behave badly in a variety of ways, and in particular can generate bogus errors at a variety of points that would cause qmail to log an error message that does not indicate that the message delivery actually failed (either permanently or temporarily). ~Kyle - -- Coffee is the common man's gold, and like gold, it brings to every person the feeling of luxury and nobility. -- Sheik Abd-al-Kadir -----BEGIN PGP SIGNATURE----- Comment: Thank you for using encryption! iQIVAwUBSu8OviuveozR/AWeAQhEzA//fATlwkENxAGq6wcxpPNuGZeUkV9EJg4x 3bMLdj0lryXj7xQOjXyY/77xuuHqL20/lwUILCxYtItNct8YQBJj5tjW/a5D3TM2 WOPrS/3nzu4ZthdN0w2sWazR8Zo+vZ/ImqRyRslL1kODyCB6r/G9TNaHmkY2Q+GZ kku/Ki+/q4JmtHfaxBCiqGRiGbtVuO53SHf7Z1MBU+5chtG/z98bvDUtd7Lmb3RM skO0DUdgedNb6+az+a//1rM3np3eEIas5XmGSGTN+jwD437+HgPNmnLMSD54g+zV XT2nmjFbDzo/pmo6rnnGtktgsC7/y6t3G3u55NSNCk0d0E3itWM04wwf8mVdb+f7 PQxcSTVqPfPwZ4/ghIWfVCv2FMOGAjJIxclfT+pKTsFqAs6I75MO2YNgBPXL4f2R Wu+10zo2e0khTH1An3CAejzahHVZIHBCzKb5Dj5SeF/xCmvvcPt5c7J+7kjdE7O6 rlZB+XUo7eDoXfmCF7NxipNlRlgjtMDBuk84wd10QyhgHqwFCkasShFk1QkJlbYP MxM4KIkwRh1UaXhm6GckHGEEctEeaZBvoCDmL0LFkcXQw4vx6W99/Y8prcDAScms c9pE2rXdqflOHgJ5NJw/5DvZXoQNOTm9Hy5a82qVfGOZb5PTOQmp5uOmT1r4refj DdF8psZGww0= =fpN2 -----END PGP SIGNATURE-----
|