Re: mailx R and r commands (was: Replying to the list)

2020-09-11 Thread Robert Elz via austin-group-l at The Open Group
Date:Fri, 11 Sep 2020 15:59:26 +0100
From:"Geoff Clare via austin-group-l at The Open Group" 

Message-ID:  <20200911145926.GA7856@localhost>

  | Although Andrew asked us to take this to the offtopic list, I would
  | like instead to bring it back on topic, by making it about mailx.

I will reply (mostly) in kind...

  | 1. Using "sender" incorrectly implies that if a "Sender:" header field
  | is present it should be used instead of "From:".

I would assume that it was using "sender" more generically, rather than
referring to a specific field, but it certainly could be clarified.

  | 2. If the person replying is one of the "recipients included in the
  | header of the message", this text requires that the reply message is
  | sent to them, contradicting text elsewhere which says that this should
  | only be done if the metoo variable is set.

That should be fixed.   Probably by something like "Whether the reply
sender's address is included, when it would seem to be required, or
not to be added, depends upon ..."

  | 3. It requires that "Reply-To:" is ignored.

As should that, though Reply-To is regarded as an originator field, and
could be (part of) the "sender" as wrong as that is.   The issue here
really seems to be that "all recipients included in the header of the message"
doesn't include the (generic) sender (who isn't necessarily a recipient,
though can be) - and obviously should.

  | It does not contain an explicit statement either way, so your
  | interpretation and mine are both possible.

You're looking at it backwards, concentrating upon how replies are
supposed to be generated (which isn't really specified at all, other
than that comment about where a reply SHOULD be sent if there is no
Reply-To field present).

The IETF don't care about that, that's not an interoperability issue,
software can do whatever it likes, what matters is the interpretation of
the fields, so one knows what they're for, and what data is appropriate
to be included.  For that, what's in the RFC is exactly right, Reply-To
indicates the address(es) to which the author of the message containing
it requests that recipients send replies.

What the recipients do with it is up to them, what their MUA offers them
as the default "reply" address list, and/or how much it permits modifications
are all just quality of implementation issues.

Here (the Austin List), however, what the (standard) MUA does with the
various command it has - that is, what the users can rely upon happening,
is an appropriate topic.

  | rfc2822 itself says much the same thing later on.  In 3.6.3 after it
  | describes how the destination fields should be set when creating a
  | reply, it says this:
  |
  | Note: Some mail applications have automatic reply commands that
  | include the destination addresses of the original message in the
  | destination addresses of the reply.  How those reply commands behave
  | is implementation dependent and is beyond the scope of this document.

Exactly, what MUAs do with things is not the IETF's bailiwick.

  | In particular, whether or not to include the original destination
  | addresses when the original message had a "Reply-To:" field is not
  | addressed here.

As that is a quality of implementation issue.

Note that my original postscript on the message about issue 1138, where I
mentioned this issue, wasn't about how any MUA handles any mail header fields,
when generating replies, it was about how the mailing list generates
a Reply-To (and mangles the From) field where that Reply-To field is not
indicating the sender's desires as to where replies should be sent.  That
is the problem I was pointing out, not what any particular MUA might do
with it.

  | Let that be an end to the discussion of how "Reply-To:" is (or was
  | originally) intended to be used and whether various email clients
  | are right or wrong to handle it the way they do.

WRT the latter, yes, please, because there is no answer to that.  But if
you're going to discuss what the mailx (or Mail, or whatever POSIX calls it)
command does by default with its "r" and "R" commands, then the first
part of that might not be possible, as what Reply-To means has to be an
issue when deciding how and when it should be used.


  | All that matters for fixing the mailx description is what existing
  | mailx implementations do.

agreed.

  | Of the ones I tried, with "r":
  |
  | Solaris uses "Reply-To:" to replace just "From:"
  | (although it has "R" and "r" the wrong way round!)

The original BSD "Mail" did it that way, I have no idea when they
swapped cases, that is 'r' was a "small" reply, and "R" a "big" reply...

But almost everyone uses "big" replies all the time, replying only to
the author is a less common thing to do, and R is harder to type than r,
so I guess somewhere along the way, someone switched them.

  | S-nail uses "Reply-To:" to replace just "From:" (although, unlike the
  | others, 

mailx R and r commands (was: Replying to the list)

2020-09-11 Thread Geoff Clare via austin-group-l at The Open Group
Although Andrew asked us to take this to the offtopic list, I would
like instead to bring it back on topic, by making it about mailx.

The descriptions of the "R" and "r" commands in mailx say that replies
are sent to the "sender" for "R" and to "all recipients included in
the header of the message" for "r".  This has the following 3 problems:

1. Using "sender" incorrectly implies that if a "Sender:" header field
is present it should be used instead of "From:".

2. If the person replying is one of the "recipients included in the
header of the message", this text requires that the reply message is
sent to them, contradicting text elsewhere which says that this should
only be done if the metoo variable is set.

3. It requires that "Reply-To:" is ignored.

To fix this last one means we need to continue the "Reply-To:"
discussion.  However, I have trimmed the quoted material below to just
the parts relevant to deciding what to specify for mailx. (The other
parts seem inconsequential now I have switched focus to fixing mailx,
so I don't feel the need to respond to those on the offtopic list.)

Robert Elz wrote, on 10 Sep 2020:
>
> Date:Thu, 10 Sep 2020 09:32:03 +0100
> From:"Geoff Clare via austin-group-l at The Open Group" 
> 
> 
>   | Yes. The last sentence.  It clearly implies that the address in the
>   | "From:" field is the address that "Reply-To:" overrides.
> 
> It does not.   It says what to do if there is no Reply-To field, and
> has no bearing at all if there is.

It does not contain an explicit statement either way, so your
interpretation and mine are both possible.  If the text was in
POSIX, a formal interpretation would say "the standard does not
speak to this issue ...", allowing both behaviours.  And, in fact,
rfc2822 itself says much the same thing later on.  In 3.6.3 after it
describes how the destination fields should be set when creating a
reply, it says this:

Note: Some mail applications have automatic reply commands that
include the destination addresses of the original message in the
destination addresses of the reply.  How those reply commands behave
is implementation dependent and is beyond the scope of this document.
In particular, whether or not to include the original destination
addresses when the original message had a "Reply-To:" field is not
addressed here.

Let that be an end to the discussion of how "Reply-To:" is (or was
originally) intended to be used and whether various email clients
are right or wrong to handle it the way they do.

All that matters for fixing the mailx description is what existing
mailx implementations do.

Of the ones I tried, with "r":

Solaris uses "Reply-To:" to replace just "From:"
(although it has "R" and "r" the wrong way round!)

The mailx from GNU mailutils uses "Reply-To:" to replace just "From:".

S-nail uses "Reply-To:" to replace just "From:" (although, unlike the
others, it puts the recipients from "To:" into "Cc:").

BSD mail (8.1 invoked as mailx on macOS) is bizarre.  For "R" it ignores
"Reply-To:" and uses "From:", which suggests it is conforming to the spec
as written, i.e. ignoring "Reply-To:", but for "r" it uses "Reply-To:" as
replacement for all recipients.

Does anyone have access to other implementations they could try?
I expect other commercial UNIXes will be the same as Solaris, so
the main thing that's missing is a more recent BSD mail, if there
is one.

This is the input file I used:

From envel...@example.com  Fri Sep 11 11:40:03 2020
From: aut...@example.com
To: rec...@example.com, rec...@example.com
Reply-To: rep...@example.com, rep...@example.com
Cc: c...@example.com, c...@example.com
Subject: test

Try "R" and "r" on this

(You will need to remove the indentation.)

P.S. I know I said I would trim all the offtopic stuff, but I just
want to make one small exception:

> For example, in this message, I am including a Reply-To header
> like this
> 
>   Reply-To: Robert Elz ,
> Andrew Josey 
> 
[...]
> 
> But I bet it will be deleted by the mailing list software, and
> replaced by something different

It wasn't.

-- 
Geoff Clare 
The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England