[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nmh-workers] Changes to post
From: |
Ken Hornstein |
Subject: |
[Nmh-workers] Changes to post |
Date: |
Sun, 11 Mar 2012 23:39:06 -0400 |
I just committed some changes to "post", and I wanted to give people a
heads up and solicit some feedback.
The changes to "post" include the previously-discussed requirement
that a From: header is now required in message drafts. But as always,
there are wrinkles.
The discussion I had with Robert Elz last month brought up some complications
in my original plan. Specifically, Robert pointed out:
- You're allowed to have multiple addresses in From:
- If you do, using Sender: is required.
- Neither From: nor Sender: necessarily correspond to what the SMTP
envelope-from header should be.
So here's what I came up with:
- Reject drafts that don't have a From: header (this was non-controversial
as I recall).
- Allow a Sender: header in the drafts (previously post would reject
drafts that had one; I assume that's because post had it's own idea
what your "real" address was).
- _Require_ a Sender: header in your draft if you have multiple addresses
in your From: header. This is actually required by the RFCs, although
in my limited tests it seems that this restriction is not enforced.
But we should still make sure we're not sending out email that is
broken (okay, we do that today for other things, but hey, that's no
excuse for making it worse).
- Create a new draft header called Envelope-From: (not copied into the
outgoing message).
- Choose your SMTP envelope header out of the following list (starting
with highest priority).
1) Envelope-From:
2) Sender:, iff you have multiple addresses in From:
3) From:
The thing I'm not so sure about is the handling of the SMTP envelope
address when a Sender: header is present. Should it always override
From:? The RFCs are sort of vague on how it is supposed to work.
RFC 5322 says this:
The "From:" field specifies the author(s) of the message, that
is, the mailbox(es) of the person(s) or system(s) responsible for
the writing of the message. The "Sender:" field specifies the
mailbox of the agent responsible for the actual transmission of
the message. For example, if a secretary were to send a message
for another person, the mailbox of the secretary would appear in
the "Sender:" field and the mailbox of the actual author would
appear in the "From:" field.
I mean, I understand the words, I'm just trying to map it to my
real-world usage. Example: I have two main email addresses I use:
"address@hidden", and "address@hidden". When I write a message on my
home computer (which is in NEITHER the "work" domain, nor the
"personal" domain), and I use a From: header that says "address@hidden",
what is the "mailbox of the agent responsible for the actual
transmission of the message"? Does it depend on which SMTP server
I use? It seems unknowable by nmh.
My thinking was that since bounces go to the SMTP envelope-from,
bounces should go back to the person who wrote the message. In the
example above, I'd want to know about a bounced email, rather than
my secretary (I guess I could see other people NOT wanting to deal
with that, though). But since it's not obvious what to use when
there are multiple addresses in From:, Sender: should be the one
that should be used. But since I could imagine wanting to override
that, that's why I created Envelope-From:.
Anyway, feedback is welcome. I believe this was the last thing that
I wanted to do for 1.5 ... so if we can come to a consensus on this
behavior, we could cut a release pretty soon.
--Ken
- [Nmh-workers] Changes to post,
Ken Hornstein <=