[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [msmtp-users] msmtp 1.6.0rc1 is released!



Martin Lambers wrote:
> No, that's just it. Sendmail was first and set the "standard" for
> everyone else, with all its quirks and weaknesses. Even if somebody
> would write a specification or RFC now, nobody would care, because
> all programs must continue to work unchanged, so you have to be
> sendmail-compatible no matter what some spec says.
> 
> Martin

And then you have things like the mess when you have -t and recipients
listed on the command line, as shown by this exim4(8) snippet:

>        -t        When  Exim  is  receiving  a  locally-generated, non-SMTP message on its standard input, the -t option causes the
>                  recipients of the message to be obtained from the To:, Cc:, and Bcc: header lines in the message instead of  from
>                  the  command arguments. The addresses are extracted before any rewriting takes place and the Bcc: header line, if
>                  present, is then removed.
> 
>                  If the command has 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 several versions of  Sendmail,  as  described  in  man
>                  pages  on a number of operating systems (e.g.  Solaris 8, IRIX 6.5, HP-UX 11). However, some versions of Sendmail
>                  add argument addresses to those obtained from the headers, and the O'Reilly Sendmail book documents it that  way.
>                  Exim   can   be   made   to   add   argument  addresses  instead  of  subtracting  them  by  setting  the  option
>                  extract_addresses_remove_arguments false.
> 
>                  If there are any Resent- header lines in the message, Exim extracts recipients from all  Resent-To:,  Resent-Cc:,
>                  and  Resent-Bcc:  header  lines  instead  of from To:, Cc:, and Bcc:. This is for compatibility with Sendmail and
>                  other MTAs. (Prior to release 4.20, Exim gave an error if -t was used in conjunction with Resent- header lines.)
> 
>                  RFC 2822 talks about different sets of Resent- header lines (for when a message is resent several times). The RFC
>                  also specifies that they should be added at the front of the message, and separated by Received: lines. It is not
>                  at all clear how -t should operate in the present of multiple sets, nor indeed exactly what constitutes a  "set".
>                  In  practice,  it  seems  that  MUAs  do  not follow the RFC. The Resent- lines are often added at the end of the
>                  header, and if a message is resent more than once, it is common for the original set of  Resent-  headers  to  be
>                  renamed as X-Resent- when a new set is added. This removes any possible ambiguity.


Thus you may have one behavior or the opposite depending on (1) the actual binary acting as sendmail, (2) its version and (3) its 
configuration file. ☹


PS: msmtp adds the recipients.