procmail
[Top] [All Lists]

Re: Forwarding Inside the SAME domain question

2002-12-13 17:09:07
At 15:15 2002-12-13 -0800, Doug Hubbell did say:

In my procmailrc file I have this and it does NOT work correctly:
       :0 c
       * ^From(_dot_)*nameONE(_at_)tecategroup(_dot_)com
       ! nameTWO(_at_)tecategroup(_dot_)com

You really shouldn't forward without adding a loop detection mechanism.

It'd also help if you explained the relationship between the addresses used in the recipe and the account(s) through which the mail is passing (the original copy, and the copy which you're forwarding).

The problem with the above, is it exceeds the hop count as it repeatedly
gets caught.  When its all said and done it sends
"nameTWO(_at_)tecategroup(_dot_)com" about 12 messages and then EXCEEDS the hop
count.

Please clarify: are these being handled within the same domain host, or within the same USER ACCOUNT? Many people with inexpensive hosted domains have wildcard email addresses within that domain which all get handled on one account - so if you forward to "nameTWO" it's going to arrive at the same user account - where it will be seen again, and that constitutes a delivery loop.

How can I get this to check JUST once, and forward the message in the
SAME DOMAIN with out getting caught in a loop?

If the addresses are in separate accounts, you shouldn't have a problem forwarding to another account in the same domain.

BTW, if I use the same recipe above, and direct it outside of my
internal domain, it works!
Example...this works fine:
       :0 c
       * ^From(_dot_)*nameONE(_at_)tecategroup(_dot_)com
       ! anothername(_at_)OUTSIDEOFMYDOMAIN(_dot_)com

Because this other account isn't being handled by the same account on your server, and thus the message isn't reappearing there to be handled again.

Forwarding in this fashion doesn't change the From: line, which your condition will match (in addition to the From_). If you want to differentiate between the sender and the message author, you should either include a space or a colon immediatley after "From".

The following would add some protection against forwarding a message which _you_ forwarded in the first place:

:0c
* ! ^X-Loop: youraccount(_at_)yourdomain\(_dot_)tld
* ^From(_dot_)*nameONE(_at_)tecategroup\(_dot_)com
| formail -A"X-Loop: youraccount(_at_)yourdomain(_dot_)tld" | $SENDMAIL nameTWO(_at_)tecategroup(_dot_)com

---
 Sean B. Straw / Professional Software Engineering

 Procmail disclaimer: <http://www.professional.org/procmail/disclaimer.html>
 Please DO NOT carbon me on list replies.  I'll get my copy from the list.


_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail