"Eric S. Raymond" <esr(_at_)thyrsus(_dot_)com> writes:
Jonas Petersson <Jonas(_dot_)Petersson(_at_)adcore(_dot_)com>:
1. Netscape 4.7x mailer puts a "Sender: zap" line among the headers.
2. This header is intact on the Exchange server.
3. At some stage during fetchmails operation it is transformed to
"Sender: zap(_at_)192(_dot_)168(_dot_)1(_dot_)136" (this is the IP address
of the SMTP server).
4. Fetchmail seems to think this is more important than any "From: "
line and so uses it for in the SMTP delivery...
5. Therefore it is trapped as spam!
My workaround: I hacked fetchmail to ignore the "Sender: " line for now
(just commented out lines 784+785 from driver.c). I'm sure there is a
more elegant solution. Opinions?
The correct fix is to use a mailer that doesn't insert bogus Sender
headers into your mail.
I think that there is enough ambiguity in the definition of the Sender
header, and enough mail clients that feel that putting something that
identifies the sender but isn't a legal email address is the right
thing to do, that an option to ignore Sender: would be reasonable and
useful.
The folks who write Gnus like to use Sender in a similar way, and feel
that RFC 822 supports their view. Here's their take on it (from the
Gnus FAQ, at http://www.ccs.neu.edu/software/contrib/gnus/):
GNUS FAQ> Q2.15 How do I customize the Sender: line?
GNUS FAQ> Richard Krehbiel <rich(_at_)kastle(_dot_)com> writes:
GNUS FAQ> The original poster wants to correct a broken Sender:
GNUS FAQ> line. If the value that Emacs computes is wrong, (mine
GNUS FAQ> is wrong too BTW) then making a right one is better, no?
GNUS FAQ> Per Abrahamsen <abraham(_at_)dina(_dot_)kvl(_dot_)dk> writes:
GNUS FAQ> No. If you think it serves a useful purpose for the user
GNUS FAQ> to change the value of the Sender field, then you do not
GNUS FAQ> understand the purpose of that field.
GNUS FAQ> The Sender field contains the following information: The
GNUS FAQ> user has customized the from address. Here is the
GNUS FAQ> original, uncustomized value. Thus, if you customize the
GNUS FAQ> Sender field in any way, it will be wrong.
Different people feel differently, and their opinions are also in the
FAQ, superceding Per's opinions. But AFAIK Per still maintains his
position, and Gnus still doesn't easily support changing the Sender:
header (you have to modify the source).
A literal reading of RFC822 sec. 4.4.2 supports the idea that Sender:
doesn't have to be a working email address...
The definition of the Sender header in RFC822 says, in part, "The
Sender mailbox specification includes a word sequence which must
correspond to a specific agent (i.e., a human user or a computer
program) rather than a standard address." That implies that the
contents of the Sender field don't need to be a legal email address at
all.
It also says "This field contains the authenticated identity of the
AGENT (person, system or process) that sends the message." Based on
this, Netscape's behavior is reasonable; to use the user-supplied
address would be using an identity which is not authenticated. If
Netscape is following the rules, it seems that fetchmail should do its
best to make the right thing happen, or at least make it possible to
make the right thing happen.
Seemingly contradicting the above, later (in sec. 4.4.4), the RFC
says:
o The "Sender" field mailbox should be sent notices of
any problems in transport or delivery of the original
messages. If there is no "Sender" field, then the
"From" field mailbox should be used.
which implies that it should be a legitimate address.
It appears that the relevant standards aren't very clear on this, and
a client that puts weird crap into the Sender header isn't really all
that out-of-line. Supporting both behaviors doesn't sound like an
unreasonable thing to do, especially with a patch in hand.
Eric, if Jonas made this into a configurable option, would you
consider incorporating his patch?
----ScottG.