thunderbird / thunderbird/thunderbird-android

Reply behavior violates RFCs when a List-Post header is present

Open
#7,305 10 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
14k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
57

Description

Checklist
  • I have used the search function to see if someone else has already submitted the same bug report.
  • I will describe the problem with as much detail as possible.
App version

6.603

Where did you get the app from?

Google Play

Android version

10

Device model

SM-G960U1

Steps to reproduce

Reply to a message that contains a "sender" header

Expected behavior

Address the reply to the address in the "From" header or to the address in the "Reply-To" header if present.

Actual behavior

The reply is addressed solely to the address in the "Sender" header.

For several years a simple "reply" to a message sent via a mailing list
went solely to the address in a "List-Post" header, if present, rather
than to the original author in the "From" or "Reply-to" headers.
That seems to have finally been fixed, but now, as of V6.603, a simple
reply is being sent solely to the address in the "Sender" header, if
present.

Neither behavior is or was correct at any time, and the problem is
exacerbated by the "To" field in the reply composition containing only
"+1", so the person replying has no idea that this unexpected and
unwanted behavior is present.

Could we PLEASE conform to the relevant RFCs? A reply is to be addressed
to the "From" address(es) in the original message unless a "Reply-To"
header is present, in which case the reply is to be addressed there. Full
stop. A Reply-all should go to the "From" or "Reply-To" as well as to the
"To", "CC", and, if present "Bcc" addresses placed in the same headers
going back.

From RFC 5322 Section 3.6.2 (updated but unchanged by RFC 6854):

"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."

"The originator fields also provide the information required when
replying to a message. When the "Reply-To:" field is present, it
indicates the address(es) to which the author of the message suggests
that replies be sent. In the absence of the "Reply-To:" field, replies
SHOULD by default be sent to the mailbox(es) specified in the "From:"
field unless otherwise specified by the person composing the reply."

And from Section 3.6.3:

"When a message is a reply to another message, the mailboxes of the
authors of the original message (the mailboxes in the "From:" field) or
mailboxes specified in the "Reply-To:" field (if it exists) MAY appear
in the "To:" field of the reply since these would normally be the
primary recipients of the reply. If a reply is sent to a message that
has destination fields, it is often desirable to send a copy of the
reply to all of the recipients of the message, in addition to the
author. When such a reply is formed, addresses in the "To:" and "Cc:"
fields of the original message MAY appear in the "Cc:" field of the
reply, since these are normally secondary recipients of the reply. If a
"Bcc:" field is present in the original message, addresses in that field
MAY appear in the "Bcc:" field of the reply, but they SHOULD NOT appear
in the "To:" or "Cc:" fields."

Logs

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no source files or tests; start by reproducing reply and reply-all handling for messages with Sender, From, Reply-To, List-Post, To, Cc, and Bcc headers. Compare the resulting recipients with the RFC 5322 behavior described in the report; done means replies use From or Reply-To rather than Sender or List-Post, with reply-all recipients preserved appropriately.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.