nmh-workers
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]