FYI, see below for a message I just sent to the ietf-822 ML seeking feedback on how the 
"reply features" of a MUA shall look like.

If you have an opinion on this topic or have a preference on how replying shall 
work in Trojitá, please comment. Using the trojita ML is fine if you don't want 
to particiapte on ietf-822.

With kind regards,
Jan

On Friday, 4 January 2013 17:44:33 CEST, Jan Kundrát wrote:
Hi,
I'm struggling to come up with the best approach for designing the "reply" feature in Trojitá. As far as I know, there's no single "best practices" document to follow (and many "XYZ considered harmful" ones and an interesting one about how Evolution works [1]). Here's what I'd like to do:

- Always offer multiple ways to reply. These actions will be represneted by an expandable button (i.e. a button with an arrow on the right which performs the "reasonable thing" by default but allows you to click the arrow to see the other actions).

- The rules for picking up the recipients will be the following:

1) If there's a List-Post header and its value is not set to "NO" (or an equivalent) and there's at least one mailto: URL in there, the "Reply to List" is enabled and listed as the default option. When user selects this action, all of the Sender, From, Reply-To, Cc and Bcc are ignored.


2) "Reply All" option is always available and will generate a list of recipients using the following rules:

- All addresses in the message's From and Reply-To will be used in the "To" field
  - All addresses in the message's To will be in the Cc
  - All addresses in the message's Cc will be in the Cc
  - All addresses in the message's Bcc will be in the Bcc

After this is complete, a list will be "sanitized":
  - Duplicate enteries in each To/Cc/Bcc are be removed
  - Addresses already in To are removed from Cc and Bcc
  - Addresses already in Cc are removed from Bcc

The List-Post and the Sender headers are ignored when doing the Reply-All thing.

The "Reply All" is the second candidate for a default (i.e. the default when "Reply List" is not available).


3) "Private Reply" option is always available and produces a message with the following recipient(s) in the "To" field:

- If the message contains a Reply-To, each of those which are at the same time *not* listed in any List-Post addresses are used. If the resulting set is non-empty, the From header is ignored. This means that any address in the Reply-To which is also listed in the List-Post is silenty ignored and anything not in the List-Post is used.
  - The Sender header is always ignored.
- If the recipients list is empty at this point, everything from the From field is used. - If the resulting set contains more than one address, the duplicates are eliminated.



I am very interested in hearing what you think about this scheme. I realize that this is a topic with a huge potential for a good flame, and I suspect there are people who have very different opinions as to what is best. Despite that, I'll be happy to hear what issues are lurking in the algorithm I describe and what drawbacks I'm eniterly missing. Please also feel free to point me to any existing discussion as long as it's different from [1], [2] and [3] which I've read already.

When the discussion settles, I plan to impleemnt the outcome in Trojitá (along with a test case with plenty of examples matching real-world scenarios). Thanks for your help!

With kind regards,
Jan


[1] http://david.woodhou.se/reply-to-list.html
[2] http://www.unicom.com/pw/reply-to-harmful.html
[3] http://woozle.org/~neale/papers/reply-to-still-harmful.html



--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/

Reply via email to