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: "kenh@work", and "kenh@personal". 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 "kenh@personal", 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 mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/nmh-workers
