Using Variable Envelope Return Paths

 < Free Open Study > 



When a message is undeliverable, the MTA that makes that determination is supposed to return a bounce message to the envelope return path. The bounce message should include the address of the recipient, the reason the message is undeliverable, and whether the problem is temporary or permanent. Some MTAs don't do this, though. They might send the bounce to the address in the From header field, or the bounce might not identify the recipient.

For most user-to-user messages, these problems aren't too bad. One can usually figure things out based on the timing of the bounce or the content of the bounce. For mailing lists, the problem of bad bounces is more serious. Subscribers move, forwarding mail to their new addresses. And if a new address starts having delivery problems, it can be impossible to tell which subscriber's address is bouncing if the bounce message only includes the new address.

qmail creator Dan Bernstein developed an innovative solution to this problem: VERP. With VERP, each message sent to each list subscriber can have a unique return path. This allows an automated bounce handler to identify the problem subscriber easily and reliably—even if the bounce message doesn't identify the bad address. All that's required for VERP to work is for the remote MTA to send the bounce message to the envelope return path. Of course, if an MTA sends bounces to the addresses in From fields, VERP won't help. Luckily, that's rare.

For example, a typical non-VERPed mailing list has a return address of the form listname-owner@domain. For a VERPed list, the return address would look something like listname-owner-subscriber=sdomain@domain, where the subscriber's address, subscriber=sdomain, is embedded between the owner- and the @, and the @ in the subscriber's address is replaced with an =. Using qmail's dot-qmail wild-carding, a bounce message processor can be set up in the .qmail-listname-owner-default file.

The ezmlm list manager uses VERP to automatically handle bounces. It even provides subscribers having temporary delivery problems with a list of the messages they missed so they can retrieve them from the archive.

qmail-inject supports two different kinds of VERP specified by QMAILINJECT options: per-message, using option m, and per-recipient, using option r. Permessage VERP gives all recipients of a message the same return path, which is identified by a timestamp and process ID. Per-recipient VERP gives each recipient of a message a unique return path that encodes the recipient address. See Chapter 4, "Using qmail," for more information about using qmail-inject.



 < Free Open Study > 



The Qmail Handbook
The qmail Handbook
ISBN: 1893115402
EAN: 2147483647
Year: 2001
Pages: 186
Authors: Dave Sill

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net