Removing the Spam: Email Processing and Filtering, Geoff Mulligan, ISBN 0-201-37957-0, Addison-Wesley, 1999.

[Originally published in Cisco's The Internet Protocol Journal, March, 2000.]

Do not be fooled by the title of this book. You might purchase this book, part of the Addison-Wesley Networking Basics Series, thinking you are just getting information dealing with unsolicited commercial email(commonly called, to Hormel's displeasure, "spam"). The title is probably the work of a marketeer who thought "spam" in the title would sell! The subtitle really describes the meat of the matter. This short, but thorough, book is about e-mail processing and filtering -- Dealing with spam, yes, but so much more.

A collection of essential information for the Internet e-mail "gatekeeper,"Removing the Spam is really geared for the gatekeeper using a UNIX-based system, so NT system administrators be forewarned. Being an e-mail gatekeeper on the Internet involves keeping the e-mail flowing, making sure the automated processes in place do the job, supporting e-mail "mailing lists," and providing the services and features your users want or need for e-mail processing.

Commercial products support some of the many requirements, but the best software for most of these functions is freely available on the Internet. Geoff provides answers to the requirements using the most popular and commonly used solutions: Sendmail for mail delivery, procmail for email filtering, and majordomo and smartlist for mailing-list management.

The book, however, tries to do a bit too much. Geoff indicates that the intended audience is not only the system administrator, but also the mail end users wanting to filter their own personal e-mail as well as those who want to run their own mailing list. Because of this broad audience, there are times when the book delves too long in the basics, giving the impression of topics added to lengthen the book. The overview of IP protocols, the brief history of the Internet, suggestions for users dealing with spammers, and mailing-list etiquette are examples that come to mind. Nevertheless, the other topics covered are "net essentials," and worth skimming over the already known.

The book clearly defines spam and its evils, and presents the tools and techniques available for removing, or at least minimizing, the spam. It is probably too ambitious when covering e-mail forgery and tracing e-mail spam, but leaves no essential unmentioned.

Sendmail coverage is good, dealing with installation as well as configuration, highlighting antispam features, and how to use them. Though not covering as much detail as other books that focus on Sendmail, the important elements of building and modifying are handled, as well as Sendmail's use of data bases, including the infamous "Realtime Blackhole List" (

The e-mail gatekeeper, as well as end users of e-mail, can use procmail to preprocess e-mail before final delivery. Procmail is powerful and flexible, and, so, can be difficult to configure properly. Configuration files examples with explanations allow even the procmail-savvy reader to learn and try something new.

The mailing list section again instructs both system administrator and user. Information about subscribing, unsubscribing, and getting information from the mailing list software is useful for the user. The administrator will appreciate the examples of getting, installing, configuring, and running majordomo and smartlist. Geoff gives suggestions about when a manual versus automated solution is best.

About the Author

I knew Geoff back in our Digital Equipment Corporation days when he worked in the Network Systems Lab. My group ran one of the corporate Internet gateways, modeled after the one at NSL. Further, the group I ran also productized and delivered what is arguably the first Commercial Internet firewall, based on a design from the team at NSL. All this to say, Geoff certainly has the background to write about these topics. Since those days, Geoff has been busy with other Internet endeavors, such as starting USA.NET and creating the NetAddress product (permanent, follow-you-anywhere e-mail addresses) and helping develop the Sun Microsystems Sunscreen Firewall. He also founded Geocast Network Systems. In various roles, in differing capacities, Geoff has had to wrestle with the matters covered in his book. What he writes is based on experience learned in the danger zone of the Internet gateway.


The book is divided into four chapters. The first chapter, the introduction really, is strangely entitled "The Dawn of Electronic Mail." This is also the "roughest" chapter. It is difficult to understand why some topics are covered in the order that they are here (and why some are covered at all -- the aforementioned "list etiquette" and "Size and Growth of the Internet," for example). It introduces (needlessly, I think) The Internet Protocols, but then reviews the basics of understanding e-mail systems. It introduces spam, along with antispam resources, and the topics in the rest of the book to be covered in detail: e-mail processing, filtering, and e-mail lists.

Chapter 2 is entitled "Sendmail" and covers obtaining, installing, configuring, and running Sendmail on a UNIX machine. It gives the commands to build and install Sendmail and your Sendmail configuration file. This coverage is not detailed enough for every situation, but gives the most common configuration information, which should satisfy most readers' needs. Included are instructions for using Sendmail to help stop (or avert) spam at the mail gateway.

Chapter 3 unravels the mysteries behind procmail configuration for e-mail filtering. This chapter covers getting the software, installing it, and using procmail the latter for system administrators and users alike. There are example "ready-to-run filters" included. Caveat: Some of the scripts have inherent errors. No doubt these errors are unfortunate publication glitches, but they do detract from the usefulness of this chapter. Geoff has compiled an errata list with corrected scripts. This can be found at:

Chapter 4 covers mailing lists, specifically discussing administering them "by hand" (just using Sendmail) or "automatically" (majordomo and smartlist). Again, examples are given with step-by-step commands.

Closing Thoughts

Production errors aside (the serious ones in the procmail chapter and others that are just nits to pick -- the "P" in ARPA stands for "Projects, "not "Project"), this book is useful as an introduction as well as as reminder of things forgotten. I can recommend this book to the novice or seasoned e-mail gatekeeper, and I will recommend it to the students in my Sendmail courses.

-Frederick M. Avolio, Avolio Consulting