Re: Adding custom mail headers via a filter?
2002-10-17 01:31:25
Sean, for now I've had to put the filtering idea on hold because I've
been contacted by a procmail developer who suggested that missing "F"
from the From_ is a known , but difficult problem to solve because it's
not easily reproduced in other "environments" so when I get a chance
I'll diagnose this some more. But in my case it's 100% consistent that
I end up missing the leading F from From_ if I enable filtmail as a
filter.
For now, I don't want to "lose" mail by having a missing F so I'll
defer further diagnosis until later.
On Thursday, October 17, 2002, at 12:16 AM, Professional Software
Engineering wrote:
At 11:02 2002-10-16 +0700, Robert Nicholson did say:
Why is it inconceivable that you'd want to in addition to returning a
value also filter?
It isn't inconceivable. You were complaining that your recipes
weren't paying attention to the filter because you were running your
program as a CONDITION operation. I pointed out that it was because
you're not invoking it as a filter.
Procmail has flags (see 'man procmailrc') for whether it ignores write
errors (the delivered-to _filter_ not reading the entire message) or
whether it waits for the message filter to complete AND pays attention
to the return value or ignores it -- if you set up your filter to
return an error value when it decides that it DOES NOT need to filter,
and success when it does, then procmail can disreguard the filtered
output on error.
Of course, if the only thing you're doing is adding another header, if
the filter always outputs everything - either with, or without that
extra header, then there isn't a great deal of need to return a
success/fail value, except perhaps as a slight performance > improvement.
My filter shouldn't have to be responsible for mail delivery ie.
writing the message into a mailbox. That's procmails job so what I'm
seeking is a way to conditionally tell procmail to write the mail to
the designated mailbox but in addition also be able to change the
message content.
:0Wf
| /path/to/yourfilter
:0a:
some_mailbox
'a' means that the previous recipe must have been successfully
completed.
'f' means to filter (change it and continue processing using that
changed version) the message.
'W' suppresses program failure messages, but waits for the filter to
complete and considers the message UNFILTERED (that is, ignore the
filter output and stick with the original message) if the invoked
filter program returneds an error.
$Headers, $Body are defined in another file.
RFC says that Headers ie. Mail Headers are separated from the Body by
a newline.
The last line of the $Headers isn't terminated by a newline.
Which I guess is a function of how you parsed them. Might I suggest
adding a newline to the neaders right off when you initially parse
them, and in your filter, appending the new header line to the > headers:
$Headers .= "newheader: content\n" ;
or:
$ExtraHeaders .= "newheader: content\n";
(for those coming into this late or from the archives, that's for an
external PERL recipe Robert wrote.)
Set a success flag, and exit your filter from the main function (not
presented to us) so that the $Headers\n$Body (or,
$Headers$ExtraHeaders\n$Body) is emitted IF the success flag is set.
This would allow you to have MULTIPLE filtering operations going on,
and any one of them could add different headers.
---
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
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, Stephan Sauerburger
- Re: Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, David W. Tamkin
- Re: Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, Bart Schaefer
- Re: Adding custom mail headers via a filter?, David W. Tamkin
- Re: Adding custom mail headers via a filter?, Robert Nicholson
- Re: Adding custom mail headers via a filter?, Ruud H.G. van Tol
- Re: Adding custom mail headers via a filter?, Bart Schaefer
|
|
|