Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

To: field without e-mail address

#832

Almost forever, the way to send a message to a list of people without showing them everyone's address has been to use the Bcc: field for the addresses.

But it was necessary to put something in the To: field. Conventionally, this was the name of the group in parentheses, eg,

To: (Basketball Club)

This meant that the recipients saw the message with a To: address like this:

To: (Basketball Club)

And they would immediately know it had been sent to all basketball club members.

Some unenlightened mail clients (cough… cough… Outlook cough… and others cough…) refuse to allow a To: line without an @ in it, even though the standards allow this.

MailMate is in between. It surrounds whatever was typed into the To: field with < >, ie, <(Basketball Club)>

It then tries to send it to the SMTP server. It doesn't work. This is because whatever is inside < > must be an e-mail address with an @.

If MailMate had sent just (Basketball Club) to the SMTP server, it should have been fine provided there was at least one real address in the Cc: or Bcc: headers.

So could I suggest that when parsing an e-mail address in any recipient header, MailMate needs to be a bit cleverer.

For reference the legal forms of address for mail headers are:

xxxxx@yyy.zzz
Xxxx Xxxxxx <xxxxx@yyy.zzz>
xxxxx@yyy.zzz (Xxxx Xxxxxx)

Between < > is always an e-mail address. Between ( ) is always a name associated with the address.

Reported by David Morrison · June 26th, 2014 @ 05:24 AM

State: reproduced
Milestone: none
Assigned to: benny benny

Activity

  1. benny
    benny
    • State changed from new to reproduced

    This is an interesting problem, but we need to get some facts straight:

    • The reason it fails is that MailMate tries to use “(Basketball Club)” as an argument to RCPT TO for the SMTP server. This must be enclosed in <> according to the standard. To avoid the error MailMate should simply not try to give it to RCPT TO at all.
    • The actual To header of the message is: To: (Basketball)
    • The third “legal” form in your list is no longer legal according to standard (but still widely used).
    • The older standards say that the () part is a comment (which can occur in almost any header). It has no real meaning, but historically email clients have used it for the name of a recipient.

    Now, I can understand why you would want (Basketball) to appear in the To header, but I don't like that it's not sanctioned by the standard. The correct way to do it is to use an empty named group like this:

    Basketball:;
    

    See the end of section 3.4 in RFC 5322.

    I tried this and MailMate does send the message with a To header like this:

    To: Basketball:;
    

    But there is also a display bug in MailMate with such group names. It is not displayed in the headers view. I'll consider that a reproducible bug. (Hopefully other email clients handle it better.)

    June 26th, 2014 @ 11:29 AM

  2. David Morrison
    David Morrison

    Ah ok. It is many years since I was involved with this stuff, and memory is not so good. So a colon and semicolon is the way to do this now. Funnily-enough, I have seen that structure in Eudora going back nearly 20 years, but thought it was just something Eudora did for aliases that had multiple addresses.

    I must try it with Outlook.

    June 26th, 2014 @ 11:40 AM

  3. benny
    benny
    • State changed from reproduced to fixcommitted

    Now MailMate displays “Basketball” for a header like "To: Basketball:;". This actually worked in earlier revisions of MailMate as well, but I broke it when trying to handle badly formatted addresses such as "Foo, Bar <foo@bar.com>". A book could be written about the edge-cases of recipient email headers...

    MailMate still does not handle group names well in general (non-empty group lists), but I suspect very few email clients do.

    June 27th, 2014 @ 11:45 AM

  4. benny
    benny
    • State changed from fixcommitted to fixreleased

    October 15th, 2014 @ 03:32 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.