Apologies if this is an old hat, but as it took me several hours to
get to the heart of this problem, I think I have to report to save
other's valuable time.
The spec.txt document talks about the -t switch ...
If there are in fact any arguments, they specify addresses to which the
message is not to be delivered. That is, the argument addresses are
removed from the recipients list obtained from the headers. This is
compatible with Smail 3 and in accordance with the documented behaviour
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
of Sendmail. However, it has been reported that in some versions at
^^^^^^^^^^^
least, Sendmail adds argument addresses to those obtained from the
headers. Exim can be made to behave in this way by setting the option
extract_addresses_remove_arguments false.
I don't believe, this is really in accordance with the documented
behaviour of Sendmail. It would probably be helpful to reveil the
sources of the "documented behaviour". I have an admittedly dated
[September 1994] copy of Eric Allman's sendmail book in front of me
and there I read:
-t Get recipients from message header
----------------------------------------
The -t command-line switch causes sendmail to gather its list of
recipients from the message's header, in addition to gathering them
from its command line. The -t switch takes no arguments.
When this switch is specified, sendmail gathers recipient names from
the To:, Cc:, and Bcc: header lines. It also gathers recipient names
from its command line, if any were listed there. Duplicates are
discarded, and the message is delivered to all that remain.
It would probably make more sense to set
extract_addresses_remove_arguments to false by default. I find the
current default behaviour quite surprising and I cannot read the
sendmail documentation as spec.txt suggests.
Also, FYI, the well established perl module for sending mail, Graham
Barr's Mail::Mailer breaks when exim is playing sendmail's role.
--
andreas