I went to the bookstore yesterday looking for a book that describes the Internet mail protocols (SMTP, etc.). I know that I can get the RFCs online, but they make for pretty dry reading and I can’t take the computer to bed with me. Sure, I could print them, but I find paperback books much more convenient and easier to read than single-sided sheets in a 3-ring binder. I was looking for something (perhaps two books) that contains not only the RFCs, but also English descriptions of how the different protocols work together, possible interpretations of and ambiguities in the RFCs, and other useful information. The SMTP RFC, for example, was written in 1982 and I was hoping to find a book that has practical advice from somebody who has actually implemented an SMTP server.
So why do I want this information? I’m seriously considering writing a simple SMTP server for Windows and Linux. And I’m doing that simply because the available SMTP servers are either broken (Microsoft’s Windows 2000 SMTP service is brain-damaged, and sendmail is, well, sendmail) or overkill for what I want (sendmail again). I want a simple and reliable SMTP transfer agent that can send and receive mail. I don’t need fancy routing rules, the ability to send mail over nonstandard networks, or to support every conceivable mail client.
At any rate, I didn’t find what I was looking for, which doesn’t mean I won’t keep trying. I did find one book that discusses many different Internet protocols, mail among them. It had very good brief descriptions of the different mail protocols, but little low-level technical information. I did, however, run across the book sendmail (the bat book) which, at 1,046 tightly-packed pages, pretty much validates my comments about the unnecessary complexity of the sendmail program for most applications, and the need for a simple and reliable replacement.