For most users, e-mail is just another application on their computers. For developers, however, Internet e-mail involves a dizzying array of standards and formats.
Programming Internet Email takes all of today's e-mail standards and puts them together in a readable form.
David Wood has compiled his knowledge of a broad array of topics to create this fine guide for both developers and the technologically curious. He explains what makes Internet e-mail work and then dives into the Multipurpose Internet Mail Extensions (MIME), Secure/Multipurpose Internet Mail Extensions (S/MIME), Open Pretty Good Protocol (OpenPGP), and Post Office Protocol 3 (POP3) standards. Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol (IMAP), and vCard--the e-mail version of business cards--are also covered.
For each topic, the book simply explains its purpose and then presents its command usage with code examples. This discussion will be understood best by programmers, but the opening introductions easily reach those with more general expertise.
Beyond the basics, Wood presents the Java Mail API, antispamming techniques, attachment scrubbing, and Java-based IMAP mailbox monitoring.
While this book is a simple collection of separate technology discussions, it offers universal information on e-mail. Illustrative and filled with facts, this book will help you design your own e-mail client--or simply understand how one works.
--Stephen W. Plain
Customer Reviews & Comments
I really wanted to like this book. We've needed a good book or books on email protocols and how to implement code using them for a long time; I hoped this would be it. Unfortunately, it isn't. First of all, the coverage of the actual protocols is incomplete. The basic protocols are there, but many essential extensions are missing. For example, the coverage of ESMTP mentions but doesn't describe the very important DSN extension (delivery notifications). The SASL extensions (secure authentication) to ESMTP, POP3, and IMAP4 aren't described. And so on. Understanding and use of such facilities is vital in implementing modern email software. Second, there are many incorrect technical details in this book. For example, the MAIL FROM command in various example SMTP dialogues is missing the required <> delimiters around the address. While omitting these delimiters will work with some servers, it won't with others. The devil is always in the details in protocol design and implementation, and reference works need to get these sorts of details right. Third, various fundamental aspects of email systems aren't covered. For example, there is little if any discussion of mailing list implementation. A significant fraction of email applications have to deal with such things. Finally, the best thing about this book is that it presents some actual email applications. Unfortunately, the applications that are presented are very limited in scope. It is almost as if in trying to be both a protocol reference and an implementation guide this book hasn't done justice to either topic. In summary, if you want a reference book on email protocols, Kevin Johnson's new book, "Internet Email protocols: A Developer's Guide" is much more complete and accurate. Unfortunately, the world is still waiting for a book that covers the nitty gritty details of writing email applications.