How to get the senders email address in the custom footer?

I have recently acquired the responsibility of maintaining a small listserver with about 1000 users.
We are using version 2.1.16 of Mailman.
The emails that currently are sent out via the listserv server have headers that include the original sender's email address as the "From:" address. Yahoo's and Aol's DMARC policy causes these to bounce as our server is not one they recognize.
I have seen many posts regarding this problem, but no actual solutions that told me what I should do.
This is not my area of expertise, just something that dropped in my lap.
A strategy that makes some sense to me is to take ownership of the emails by identifying the listserv as the From and Reply-To addresses, but including a custom footer in the email that exposes the actual sender's email address.
This should avoid Yahoo and Aol rejecting the email due to DMARC, as Yahoo and Aol will not be asked for their opinion as to what should or should not be done with this email.
I set the annonomous_list setting to yes under general options, and sent a test email. The email went out fine, but nothing in the default email footer allowed others to know who actually sent the email out.
I attempted to change the default non-digest footer to include the sender's address, but did not succeed. It appears that this info is regarding the recipient,not the sender's info. I.E. user xxx@mydomain.com sends to yyy@listserver.com, zzz@hisdomain.com is also a member of the listserv and receives an email, but the footer to the email does not show xxx@mydomain, just info about zzz@hisdomain.com. I tried the user_address, user_delivered_to, and user_name variables but none contained info regarding the sender.
So, the question is how to get the sender's email address in the footer.
Thanks in advance,
-Arlen Raasch

In a message of Sat, 19 Sep 2015 07:58:59 -0400, Arlen Raasch writes:
The relevant pages to read are: http://wiki.list.org/DEV/DMARC
http://wiki.list.org/DOC/What%20can%20I%20do%20about%20members%20being%20uns...
You will be happier if you can upgrade to 2.1.18
You don't have to worry that Reply-To: should be munged to be the list. You re-write the From: and take control of it there, and then you stick the original poster's address to the Reply-To:
If you are already munging the Reply-To: address to accomplish something else -- such as all replies go to the list, or all replies go to some_other_list then changing may irritate your users, but I assume you are not, or at any rate the irritation level will be less if you use Reply-To: to hold the original sender's address, since the scheme you outlined above involved rewriting Reply-To: anyway.
The advantage of this scheme is that people who have sane, more recent that the 1980s, sorts of mail readers, will find that replying to the sender works without them having to do anything. They will reply, -- their mail reader will interpret the reply as 'reply to the sender, unless there is a Reply-To:, in which case send it there instead' because all mailers are supposed to do this ... and since there will be a Reply-To: which points at the original posters original address, that is where the reply will go. Which is where you want it to.
Laura

On 09/19/2015 04:58 AM, Arlen Raasch wrote:
Have you seen the FAQ article at <http://wiki.list.org/x/17891458>.
Mailman has various mitigation strategies described in the above referenced FAQ article. With Mailman 2.1.16, you are limited to munging the From: header on all list posts, not just those From: domains that publish DMARC reject and optionally quarantine policies.
2.1.18 adds this latter ability and removes the requirement to add
ALLOW_FROM_IS_LIST = Yes
to mm_cfg.py to enable the from_is_list setting. 2.1.19 has a few minor bug fixes to the features.
...
Correct. While anonymous_list = Yes will avoid DMARC issues, that's not what it is designed for.
Correct again. There are no footer replacement variables relating to the sender.
...
So, the question is how to get the sender's email address in the footer.
You would need to modify the source code, but if you have the ability to do that, a much better solution is to upgrade to the current 2.1.20 release <https://launchpad.net/mailman/+download> or even the head of the development branch at <https://code.launchpad.net/~mailman-coders/mailman/2.1> and use the dmarc_moderation_action settings for this.
Note that Mailman's strategy is to put the original From: in Reply-To: or in some cases in 2.1.19+ in Cc: to both expose the address and make 'reply' and 'reply all' work as closely as possible to the non-munged case.
Also note that the development branch is actually quite solid for production use. It is what we are using for all the python.org lists.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Hi,
I've also been looking for a variable giving the sender's Email address, but came to the same conclusion--it doesn't exist. Imho this would be a useful feature.
I admin a mailing list where I had to set it up to munge the From: header because of DMARC, and some Email clients--even though they should know better--were replying to the list even though replies were supposed to go to the sender. I've since taken advantage of the DMARC moderation feature, but we've been encouraging people to give their Email address somewhere in their message. If there were a footer variable with the sender's Email address, this wouldn't be necessary. Just my $0.02 worth.
Jayson
On 9/20/2015 11:49 AM, Mark Sapiro wrote:

On 09/20/2015 06:15 PM, Jayson Smith wrote:
With Mailman's DMARC mitigations, if the sender's address is removed from the From: header, it is always in either Reply-To: or Cc:. Even if a user's MUA doesn't correctly address a Reply, it seems to me that it's just as easy to copy/paste the address from the Reply-To: or Cc: header of the original post as it is to copy/paste it from somewhere else in the message. What am I missing? Also, in my experience, users tend not to look at how their reply is addressed in the first place and don't even notice that it is addressed say to the list rather than the poster. I think the appropriate solution is for users to use compliant MUAs that will honor Reply-To:, although I understand that that's a lot easier for me to say than it is to get users to actually do it. All that said, if you really want it, it's a one line patch to add a 'sender' replacement to msg_header and/or msg_footer (watch out for wrapped lines). === modified file 'Mailman/Handlers/Decorate.py' --- Mailman/Handlers/Decorate.py 2010-06-05 17:27:39 +0000 +++ Mailman/Handlers/Decorate.py 2015-09-21 02:34:19 +0000 @@ -42,7 +42,7 @@ # Digests and Mailman-craft messages should not get additional headers if msgdata.get('isdigest') or msgdata.get('nodecorate'): return - d = {} + d = {'sender': msg.get_sender()} if msgdata.get('personalize'): # Calculate the extra personalization dictionary. Note that the # length of the recips list better be exactly 1. -- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

In a message of Sat, 19 Sep 2015 07:58:59 -0400, Arlen Raasch writes:
The relevant pages to read are: http://wiki.list.org/DEV/DMARC
http://wiki.list.org/DOC/What%20can%20I%20do%20about%20members%20being%20uns...
You will be happier if you can upgrade to 2.1.18
You don't have to worry that Reply-To: should be munged to be the list. You re-write the From: and take control of it there, and then you stick the original poster's address to the Reply-To:
If you are already munging the Reply-To: address to accomplish something else -- such as all replies go to the list, or all replies go to some_other_list then changing may irritate your users, but I assume you are not, or at any rate the irritation level will be less if you use Reply-To: to hold the original sender's address, since the scheme you outlined above involved rewriting Reply-To: anyway.
The advantage of this scheme is that people who have sane, more recent that the 1980s, sorts of mail readers, will find that replying to the sender works without them having to do anything. They will reply, -- their mail reader will interpret the reply as 'reply to the sender, unless there is a Reply-To:, in which case send it there instead' because all mailers are supposed to do this ... and since there will be a Reply-To: which points at the original posters original address, that is where the reply will go. Which is where you want it to.
Laura

On 09/19/2015 04:58 AM, Arlen Raasch wrote:
Have you seen the FAQ article at <http://wiki.list.org/x/17891458>.
Mailman has various mitigation strategies described in the above referenced FAQ article. With Mailman 2.1.16, you are limited to munging the From: header on all list posts, not just those From: domains that publish DMARC reject and optionally quarantine policies.
2.1.18 adds this latter ability and removes the requirement to add
ALLOW_FROM_IS_LIST = Yes
to mm_cfg.py to enable the from_is_list setting. 2.1.19 has a few minor bug fixes to the features.
...
Correct. While anonymous_list = Yes will avoid DMARC issues, that's not what it is designed for.
Correct again. There are no footer replacement variables relating to the sender.
...
So, the question is how to get the sender's email address in the footer.
You would need to modify the source code, but if you have the ability to do that, a much better solution is to upgrade to the current 2.1.20 release <https://launchpad.net/mailman/+download> or even the head of the development branch at <https://code.launchpad.net/~mailman-coders/mailman/2.1> and use the dmarc_moderation_action settings for this.
Note that Mailman's strategy is to put the original From: in Reply-To: or in some cases in 2.1.19+ in Cc: to both expose the address and make 'reply' and 'reply all' work as closely as possible to the non-munged case.
Also note that the development branch is actually quite solid for production use. It is what we are using for all the python.org lists.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Hi,
I've also been looking for a variable giving the sender's Email address, but came to the same conclusion--it doesn't exist. Imho this would be a useful feature.
I admin a mailing list where I had to set it up to munge the From: header because of DMARC, and some Email clients--even though they should know better--were replying to the list even though replies were supposed to go to the sender. I've since taken advantage of the DMARC moderation feature, but we've been encouraging people to give their Email address somewhere in their message. If there were a footer variable with the sender's Email address, this wouldn't be necessary. Just my $0.02 worth.
Jayson
On 9/20/2015 11:49 AM, Mark Sapiro wrote:

On 09/20/2015 06:15 PM, Jayson Smith wrote:
With Mailman's DMARC mitigations, if the sender's address is removed from the From: header, it is always in either Reply-To: or Cc:. Even if a user's MUA doesn't correctly address a Reply, it seems to me that it's just as easy to copy/paste the address from the Reply-To: or Cc: header of the original post as it is to copy/paste it from somewhere else in the message. What am I missing? Also, in my experience, users tend not to look at how their reply is addressed in the first place and don't even notice that it is addressed say to the list rather than the poster. I think the appropriate solution is for users to use compliant MUAs that will honor Reply-To:, although I understand that that's a lot easier for me to say than it is to get users to actually do it. All that said, if you really want it, it's a one line patch to add a 'sender' replacement to msg_header and/or msg_footer (watch out for wrapped lines). === modified file 'Mailman/Handlers/Decorate.py' --- Mailman/Handlers/Decorate.py 2010-06-05 17:27:39 +0000 +++ Mailman/Handlers/Decorate.py 2015-09-21 02:34:19 +0000 @@ -42,7 +42,7 @@ # Digests and Mailman-craft messages should not get additional headers if msgdata.get('isdigest') or msgdata.get('nodecorate'): return - d = {} + d = {'sender': msg.get_sender()} if msgdata.get('personalize'): # Calculate the extra personalization dictionary. Note that the # length of the recips list better be exactly 1. -- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (4)
-
Arlen Raasch
-
Jayson Smith
-
Laura Creighton
-
Mark Sapiro