* This page is published by the Internet Association Japan (IAJapan) for information sharing about unsolicited commercial Email measure.
Internet Initiative Japan Inc.
Kazu Yamamoto
May. 2009
1. Comparing methods to override MAIL FROM
2. Introducing a mark
3. Saving a sender address
Please read “A Proposal to Fix the SPF vs Forwarding Problem” before you read this article.
1. Comparing methods to override MAIL FROM
The following two methods are unknown to solve the “SPF vs Forwarding” problem by overriding MAIL FROM:
- The simple methods (the two methods proposed in “A Proposal to Fix the SPF vs Forwarding Problem“)
- SRS(Sender Rewriting Scheme)
Both methods does not introduce loop of error messages. Each method, however, has its advantages and disadvantages:
The simple method can be installed in a forwarding server solely. So, its deployment is easier than SRS. But error messages cannot be delivered to the original sender.
In contrast, error message can be delivered to the original sender with SRS. However, for deployment of SRS, all forwarding server should install it. It is, thus, practically hard to deploy SRS.
This article introduces an intermediate solution which can be installed in a forwarding server solely and enables to deliver error messages to the original sender. This method is actually being used by a big ASP.
2. Introducing a mark
The simple method (1) cannot distinguish “an error message which was generated due to a forwarded message” from other error messages. To distinguish them, a forwarding server can put a mark in local part when forwarding.
Figure 1 is an example of forwarding with a mark “=mark=”:
Figure 1
alice@example.jp sends a message to bob@example.net then bob@example.net forwards it to bob@example.com. The server of example.net overrides MAIL FROM with bob@example.net and inserts “=mark=” into the local part.
If an error message against the forwarded message is returned(the red arrow), its address specified in RCPT TO contains “=mark=”. Other error messages(the pink arrow), of course, do not contain “=mark=”. So, the server can save the former to its local storage and forward the latter.
3. Saving a sender address
If a forwarding server preserves a mail address specified in MAIL FROM to a local part, the server can deliver error message to the original sender. Such mail address syntax is called VERP(Variable Envelope Return Paths).
Figure 2 displays an example of saving a sender address:
Figure 2
When the server of example.net receives an error message against a forwarded message(the red arrow), it can extract the sender address and deliver it to the sender.