Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Procmail 'Passthrough' Partners for powerful E-mail Filtering : Page 3

Use this technique to easily 'retrofit' existing e-mail servers.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

Does It Matter?
Passthrough is important; every e-mail administrator should know about it. Procmail is in wide use, not just with sendmail, but also as a "delivery agent" for such other popular e-mail routers as Postfix, Exim, and Qmail. Several FAQs on procmail discuss filtering with external processes; see this link for an example.

I frequently come across workers who need more programmability in their filtering, and yet I've never seen "w" passthroughs used or explained. In writing this article, I did discover a PGP key retrieval recipe described by Adam Shostack that has used passthrough since the mid-'90s. Apart from that, the only use I've observed of "w" is in a procmail recipe idiom for certain kinds of transformations applied to messages. I'd welcome information about other instances.

Passthrough's greatest disadvantage is that it limits performance. A straightforward passthrough recipe spawns an extra process for each e-mail item it diagnoses. Heavily loaded e-mail servers can't afford this.

However, passthrough is so simple and reliable to implement, and gives such important benefits, that I use it often. Its flexibility in rationalizing e-mail processing often means that overall system responsiveness improves when I use it. On the one occasion that it turned out to constrain performance, I was able to transform it into a "trickier," but higher-performance, pipeline. Write me at this address with news of how it works for you.

Cameron Laird is a full-time independent developer with his own consultancy, Phaseit, Inc. He has deep experience in data management (including RDBMSs and LDAP), knowledge management, networking protocols, graphical user interface (GUI) development, real-time; Unix, OpenVMS, WinNT, OS/400; C, C++, Tcl, Python, Java, FORTRAN, Perl, Lua, Eiffel, etc. He writes a regular column for UNIX Insider, is a contributing editor for Linux magazine, and has had work published in numerous other books and magazines.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date