The Internet's "killer app" is not the World Wide Web or Push technologies: it is humble electronic mail. More people use email than any other Internet application. As the number of email users swells, and as email takes on an ever greater role in personal and business communication, Internet mail protocols have become not just an enabling technology for messaging, but a programming interface on top of which core applications are built. Programming Internet Email unmasks the Internet Mail System and shows how a loose federation of connected networks have combined to form the world's largest and most heavily trafficked message system.
Programming Internet Email tames the Internet's most popular messaging service. For programmers building applications on top of email capabilities, and power users trying to get under the hood of their own email systems, Programming Internet Email stands out as an essential guide and reference book. In typical O'Reilly fashion, Programming Internet Email covers the topic with nineteen tightly written chapters and five useful appendixes.
Following a thorough introduction to the Internet Mail System, the book is divided into five parts:
- Part I covers email formats, from basic text messages to the guts of MIME. Secure email message formats (OpenPGP and S/MIME), mailbox formats and other commonly used formats are detailed in this reference section.
- Part II describes Internet email protocols: SMTP and ESMTP, POP3 and IMAP4. Each protocol is covered in detail to expose the Internet Mail System's inner workings.
- Part III provides a solid API reference for programmers working in Perl and Java. Class references are given for commonly used Perl modules that relate to email and the Java Mail API.
- Part IV provides clear and concise examples of how to incorporate email capabilities into your applications. Examples are given in both Perl and Java.
- Part V covers the future of email on the Internet. Means and methods for controlling spam email and newly proposed Internet mail protocols are discussed.
- Appendixes to Programming Internet Email provide a host of explanatory information and useful references for the programmer and avid user alike, including a comprehensive list of Internet RFCs relating to email, MIME types and a list of email related URLs.
Programming Internet Email will answer all of your questions about mail and extend your abilities into this most popular messaging frontier.
'After all the books for users, it's a relief to read David Wood's Programming Internet Email. The text is in the best O'Reilly tradition: concise, technical and free from gush. ' UNIXNT, September 2001 'What can I conclude about this book? It's thorough, that's for sure. It covers more email-related protocols and APIs than I knew about before I started to read this book. Although code snippets from chapter thirteen and later are in Perl and Java only, it wasn't hard to translate these to other languages. All in all, if you need to program some email-related functionality then this book will be a big help.' - Bob Swart, Developers Review, August 2000
Preface. 1. Electronic Mail on the Internet Email Systems Internet Email Standards Tools of the Trade The Basic Internet Email System. 2. Simple Text Messages Internet Text Messages Think Globally, Act Locally Headers. 3. Multipurpose Internet Mail Extensions Mail with Attitude MIME Header Fields MIME Encoding MIME Boundaries MIME Summary. 4. Creating MIME-Compliant Messages The Minimal MIME Message Multipart Messages Nested Body Parts A Few Interesting MIME Types MIME Message Creation Gotchas. 5. OpenPGP and S/MIME An Extremely Brief Introduction to Security Concepts An Overview of OpenPGP and S/MIME Combining Security and MIME The OpenPGP Format The S/MIME Format. 6. vCard Personal Data Interchange with vCard The vCard Version 3.0 Profile The vCard Version 2.1 Profile Attaching vCards to Email Messages. 7. Mailbox Formats mbox MH Maildir. 8. Mailcap Files Mailcap File Format Implementation Under Unix Operating Systems Implementation Under Other Operating Systems. 9. The Extended Simple Mail Transfer Protocol Using ESMTP ESMTP Commands ESMTP Sessions. 10. The Post Offce Protocol Using POP POP Commands POP Sessions. 11. The Internet Message Access Protocol Using IMAP IMAP Commands IMAP Sessions. 12. The Application Configuration Access Protocol Using ACAP ACAP Commands ACAP Sessions. 13. Email-Related Perl Modules Finding and Installing Perl Modules Maturity of the Mail-Related Modules Email-Related Modules Quick Reference. 14. The Java Mail API An Overview of the Java Mail API Java Mail API Reference. 15. Creating and Sending a Multipart Mail Message Designing a MIME-Capable Replacement for /bin/mail Creating mail.pl Extending and Enhancing mail.pl Sending MIME Email via Java. 16. Archiving and Cleaning a Mailbox Scrubbing Unwanted MIME Attachments Creating mboxscrub.pl Extending and Enhancing mboxscrub.pl. 17. Watching an IMAP Mailbox Designing JBiff Creating JBiff Extending JBiff. 18. Anti-Spamming Techniques The UCE Problem Recipient Approaches Service Provider Approaches Legislative Approaches. 19. The Future of Email Trends in MUAs Trends with Web-based Mail Trends Inside Firewalls A. Internet RFCs Relating to Email B. MIME Media Types C. ASCII D. Mail-Related URLs Glossary Index