On Mon, 29 Dec 2008 16:21:41 -0500 (EST), wie...@porcupine.org (Wietse Venema) wrote:
>I do not understand why you would send mail to a recipient address >other than the recipient subscribed to the Mailman list. Example: My server (for Mailman and Postfix and some local mailboxes) is named nuser.dybdal.dk. The Mailman virtual host is lists.dybdal.dk, the list I am experimenting with is named jdtest. The subscribed address that Mailman knows is jd-test2 at dybdal.dk. In virtual_regexp, this address is translated to jd+dybdal.dk+jd-test2 at nuser.dybdal.dk. I do this in order to have it delivered to the "jd" mailbox at nuser.dybdal, with an extension that allows my mail client to recognize the precise virtual domain and address that was used (the same mailbox receives mail to several addresses in several domains). When Mailman sends mail to jd-test2 at dybdal.dk, the address in RCPT TO is "jd-test2 at dybdal.dk", but the envelope sender becomes jdtest-bounces+jd+dybdal.dk+jd-test2=nuser.dybdal.dk at lists.dybdal.dk. If this should bounce (which it won't in this example, but it might possible be rewritten to an address at another machine instead), Mailman will try to find a subscriber with the address jd+dybdal.dk+jd-te...@nuser.dybdal.dk, and fail to do so. >1) When you rewrite the envelope RECIPIENT address, then you expect >Postfix VERP to use the original recipient address instead of the >rewritten one. I think that would make sense, because the VERP'ed recipient address is used (only) for comparison with the subscribed address when the mail bounces. >2) What if you rewrite the envelope SENDER address? Should Postfix >VERP use the original envelope sender address or the rewritten one? I had not considered that, since I have no desire to rewrite the sender address. But I think my answer to that question is "no". >If 1) and 2) work in opposite ways then my little mind will be >really confused. I may well have misunderstood something, but it seems to me that: 1) The purpose of the VERP encoded recipient address is (only!) to allow mailing list software to recognize a subscriber, and it therefore makes sense to have the VERP encoded recipient address equal to the subscriber address as the mailing list software knows it; i.e., the RCPT TO address. This VERP use of the recipient address is quite different from the primary purpose of the recipient address, which is to get the mail to wherever the owner of the address wants it, which of course may require rewriting. 2) The purpose of the sender address (whether or not is has a VERP part appended) is to ensure that a bounce is delivered correctly; if any rewriting is specified for the sender address, surely whoever made the rewriting rule has ensured that the rewritten address will be delivered correctly. The mailing list software does not compare the sender address with anything; it just notes that it received a message at its bounce address. Since my first mail, I have tried an experiment where the rewriting of the sender address is done by a .forward file instead of by virtual_regexp; in that case, VERP actually uses the recipient address before it has been changed by .forward, as I would like it to do. Perhaps part of my problem is that I don't really see why it should make a difference to the VERP address whether the recipient address is changed by virtual_regexp or by .forward. >> I have not tested this with the 2.6 experimental release, but the >> release notes say nothing about VERP, so I assume the behaviour is the >> same in 2.6. > >Yes, this project takes pride in accurate documentatiom :-) You don't really need the smiley - the pride is very appropriate. Accurate documentation, including complete release notes, is something that I, and undoubtedly many others, very much appreciate about Postfix - and miss in many many other software products. -- Jesper Dybdal, Denmark. http://www.dybdal.dk (in Danish).