mail(1) cannot send to address containing an equals sign

Bug #255290 reported by Ralph Corderoy
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mailutils (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Binary package hint: mailutils

Ubuntu 8.04, mailutils 1:1.1+dfsg1-3.1.

Attempting to unsubscribe from a mailing list, I did

    mail announce-unsubscribe-subversion=$<email address hidden> </dev/null

(`$private' is me replacing a simple plain domain name I wish to keep
private.)

mail(1) returned without error. Later, I receive various bounces. mail
gave the Postfix SMTP server on localhost three separate recipient
addresses.

    <email address hidden>
    <=@inputplus.co.uk>
    <$<email address hidden>>

Postfix has added the `@inputplus.co.uk' to those addresses it was given
that didn't have domain names. So mail(1) handed over

    announce-unsubscribe-subversion
    =
    $<email address hidden>

IOW, it seems to consider the equals sign as a word boundary and split
the desired address there, resulting in three addresses, one just `='.
I suspect this is because during argument processing, mail(1) seems to
turn the contents of files like ~/.mailrc into command line arguments
that precede those given by the user, and the processing of these
handles things like `foo=bar' to set a variable. This probably splits
it into `foo', `=', `bar', and it is later treated as three destination
email addresses.

Note, other destinations like

    mail foo,bar </dev/null

result in email being sent to `foo' and `bar'. I don't know if this is
deliberate, but it doesn't appear to be documented in
http://www.gnu.org/software/mailutils/manual/mailutils.html.gz#mail

Regardless, mail(1) cannot send to the valid unsubscribe address
mandated by a mailing list and is erroneously splitting the address into
parts.

Revision history for this message
Nathan Baum (nbaum) wrote :

This is still present in 9.04, with mailutils 1:1.2+dsfg1-4

Changed in mailutils (Ubuntu):
status: New → Confirmed
Revision history for this message
Nathan Baum (nbaum) wrote :

Using strace, I can see mail opens a pipe to /usr/sbin/sendmail and sends, in the case of an intended recipient of "foo=bar", a To header of

To: <foo@athens>, <=@athens>, <bar@athens>

athens is the name of the local host, so the fault seems to clearly lie with mailutils.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.