Search code examples
phplistphpmailermailingmailman

Mailing list replies to go only to the sender, except when reply-all is used


I am working on a PHP based mailing list using PHPmailer.

Currently I have implemented two options for answers to mailing list posts: reply to sender only Vs reply to list. This basically controls which address is inserted in the Reply-To field.

I want to create the behaviour which my users know from Mailman, here an example:

SenderA posts a message:

From: [email protected]

To: [email protected]

The mailing list forwards it to all recipients, e.g. here to RecipientA:

From: [email protected]

To: [email protected]

CC: [email protected]

Now RecipientA replies to the post and the reply looks like that:

From: [email protected]

To: [email protected]

The other option RecipientA has is posting the reply to the whole mailing by choosing "reply to all" in the mail client which looks like that in the reply:

From: [email protected]

To: [email protected]

CC: [email protected]

When I would decide to set the mailing list's address in the CC field for all forwarded mails:

  • Does that mean the mail comes back to the mailing list 100 times when I send out the mail to 100 subscribers (-> it would cost quite a lot of performance to retrieve, check and drop that duplicate mails)

  • Can I include a certain header so that the mail to the CC'd mailing list is not send 100 times? How can I tell the mail server(s) to not do that?

Or:

  • Is there an alternative way to allow the users to decide to reply to the sender or to the whole list?

Solution

  • I figured it out - most email clients will treat replying to mailing list emails as desired when the following conditions are met for the outgoing mailing list emails:

    • The emails come with the standard mailing list headers according to RFC 2369, you definitely need List-Post with something like <mailto:[email protected]>
    • For replies only to the sender you either need a correct set From header field (must be the email of the sender, [email protected] in the example) or the Reply-To header field in case you cannot change the From field

    This is slightly different from the Mailman approach but it works very well and you can be sure that your server does not have to deal with unwanted duplicates