procmail
[Top] [All Lists]

Re: procmail question about ^TO

1996-06-03 14:39:29
Thank you very much for responding!

Ok, well basically the messages should get through, just not cc'ed to the
senders.  I've looked through the headers and the only thing that contains
the right string to trip the ^TO{dummy|sebby|sbern|dummy} condition is the
From: field.

Here is a header from a message that shouldn't have made it through:

From sbern(_at_)eclipse(_dot_)net  Mon Jun  3 17:01:10 1996
Received: from solar.eclipse.net (root(_at_)solar(_dot_)eclipse(_dot_)net 
[205.197.48.8]) by luna
r.eclipse.net (8.6.12/8.6.12) with ESMTP id RAA08392 for 
<fvastano(_at_)spectrumtech(_dot_)
com>; Mon, 3 Jun 1996 17:01:06 -0400
Received: (from root(_at_)localhost) by solar.eclipse.net (8.6.12/8.6.12) id 
RAA24735
 for fvastano(_at_)spectrumtech(_dot_)com; Mon, 3 Jun 1996 17:01:05 -0400
Date: Mon, 3 Jun 1996 17:01:05 -0400
From: Sebastian Bernheim <sbern(_at_)eclipse(_dot_)net>
Message-Id: <199606032101(_dot_)RAA24735(_at_)solar(_dot_)eclipse(_dot_)net>
To: fvastano(_at_)spectrumtech(_dot_)com
Subject: testing this thing out

Here is the recipie that processed it:

:0
* ^TO_{dummy|fvastano|jrobin|sebby|sbern|dummy}
{
        :0 c
        * ^TO{dummy|fvastano|dummy}
        !fvastano(_at_)eclipse(_dot_)net

        :0 c
        * ^TOjrobin
        !jrobin(_at_)eclipse(_dot_)net

        :0 c
        * ^TO{dummy|sebby|sbern|dummy}
        !sbern(_at_)eclipse(_dot_)net

        :0
        /dev/null
                                }

:0 E
!jrobin(_at_)eclipse(_dot_)net

Here is the logfile (verbose=on):

procmail: Assigning "INCLUDERC=/home/usr/workgroups/spectrum/.procmail/rc.spectr
um"
procmail: Match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(
-Resent)?)-To):(.*[^a-zA-Z])?)_{dummy|fvastano|jrobin|sebby|sbern|dummy}"
procmail: Match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(
-Resent)?)-To):(.*[^a-zA-Z])?){dummy|fvastano|dummy}"
procmail: Assigning "LASTFOLDER=/usr/sbin/sendmail 
fvastano(_at_)eclipse(_dot_)net"
procmail: [5884] Mon Jun  3 15:56:14 1996
procmail: [5884] Mon Jun  3 15:56:14 1996
procmail: Executing "/usr/sbin/sendmail,fvastano(_at_)eclipse(_dot_)net"
procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparent
ly(-Resent)?)-To):(.*[^a-zA-Z])?)jrobin"
procmail: Match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(
-Resent)?)-To):(.*[^a-zA-Z])?){dummy|sebby|sbern|dummy}"
procmail: Assigning "LASTFOLDER=/usr/sbin/sendmail sbern(_at_)eclipse(_dot_)net"
procmail: Executing "/usr/sbin/sendmail,sbern(_at_)eclipse(_dot_)net"
procmail: Assigning "LASTFOLDER=/dev/null"
procmail: Opening "/dev/null"
From sbern  Mon Jun  3 15:56:13 1996
 Subject: testing it out
  Folder: /dev/null                                                         666
procmail: Notified comsat: "spectrum(_at_)0:/dev/null"

Notice that it matches in 3 places.  Once to invoke the nesting recipie
(desired).  Once to send a copy to fvastano (desired).  And once more to
send a copy to sbern (undesired).  It also writes to /dev/null so that it
delivers before the end of the nesting recipie thereby preventing it from
writing to the default mailbox.

The one thing I don't want it to do is send a copy to sbern.  The rest is fine.

I still don't know why it won't match for the "dummy".  But since I've
figured a workaround it's no biggie...

I've peppered a few comments below...

Well, your scheme won't work for folks who get mail from a mailing
list, or via a Bcc:  (try it).  Those types of mail don't carry any
routing information in the headers (unless some MTA explicitly added it
along the way), and procmail doesn't have access to the envelope.

That's allright.  Bcc: will deliver to the default address and they can
figure it out from there.  Since these aren't "real" addresses I would
imagine that if they sign up for mailing lists they would use their real
address, which would not invoke this problem...

If you have access to the sendmail cf file, you can address this, but
the fix is beyond my ability to explain.

I do have access to sendmail.cf, and I mess with it all the time, but I
really want something that is within the user's ability to tinker with for
this end of things so they can add and delete these addresses themselves,
and possibly some of them will learn to use procmail themselves to run
autoresponders and the like.  I hope.

As for your original question, post the complete set of headers from a
message that "shouldn't" have made it through....

Above.

Thanks again most heartily...



+-----------------------------------------------------------------------+
|Sebastian @ Eclipse Tech Support - (800)483-1223 - 
support(_at_)eclipse(_dot_)net |
+-----------------------------------------------------------------------+
| A computer lets you make more mistakes faster than any invention in   |
| human history--with the possible exceptions of handguns and tequila.  |
|  - Mitch Ratcliffe, _Technology Review_, April, 1992                  |
+-----------------------------------------------------------------------+


<Prev in Thread] Current Thread [Next in Thread>