Redirect all -bounce emails
Hello Folks,
I recently setup a mailman server with ver 2.1.6, and I am liking it so far.
Since I am not with the IT Team of my organization, I am working around some mailman problems and this is where I need some ideas.
I setup a few mail lists (including default mailman list) in name.comdomain, and worked with my IT folks to redirect <maillist>@ name.com to my mail server <mailist>@mine.name.com I do get a few <maillist-name>-bounce@name.com emails, and I would like to re-direct all these emails to mailman@name.com (or mailman@mine.name.com) Does someone have ideas how to accomplish this?
I do not administer the company's mail servers. Folks here are not open to the list.name.com domain idea, for legacy reasons. I have a bunch of /etc/aliases entries for each of my mail lists on mine.name.com server. Is there a way I can use these alaises to re-firect <maillist-bounce>@ name.com to mailman@name.com
Any help / ideas are appreciated.
Thanks! Tom
Tom Kavanaugh wrote:
I setup a few mail lists (including default mailman list) in name.comdomain, and worked with my IT folks to redirect <maillist>@ name.com to my mail server <mailist>@mine.name.com I do get a few <maillist-name>-bounce@name.com emails, and I would like to re-direct all these emails to mailman@name.com (or mailman@mine.name.com) Does someone have ideas how to accomplish this?
I do not administer the company's mail servers. Folks here are not open to the list.name.com domain idea, for legacy reasons.
Depending on the MTA that recieves the incoming mail for the name.com domain and whether it has the ability through NTFS or whatever to access files or directories on mine.name.com, it may or may not be possible to do something to direct all list mail to mine.name.com by looking at aliases or whatever on mine.name.com, but that may be even less acceptable to the IT folks than just installing the necessary aliases.
See the post at <http://mail.python.org/pipermail/mailman-users/2006-January/048725.html> and the surrounding posts in that thread for more on this.
Basically, there are 10 addresses per list - the listname address plus the 9 listname-* (where * is admin, bounces, confirm, join, leave, owner, request, subscribe or unsubscribe) addresses - which all must be able to receive mail and route it to Mailman in a way that Mailman can tell which of the 10 addresses it came from. In order for Mailman to fully function as documented, 9 of these should work (-admin is deprecated). You can get away without some of the others if you don't tell people about them, and they don't expect them to work from other Mailman experience.
I have a bunch of /etc/aliases entries for each of my mail lists on mine.name.com server. Is there a way I can use these alaises to re-firect <maillist-bounce>@ name.com to mailman@name.com
I'm not sure what you're getting at here. If you're thinking that you can get around the issue by having all bounces from any list be returned to the 'mailman' list posting address, you could do this in the source code, but not by using aliases on mine.name.com. But, you still have the issue of the other listname-* addresses.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hi Mark,
Thanks for your response and suggestions.
You can get away without some of the others if you don't tell people about them, and they > don't expect them to work from other Mailman experience.
I can get away with all the other addresses with every list. It is only the listname-bounce that worries me.
If you're thinking that you can get around the issue by having all bounces from any list be returned to the 'mailman' list posting address, you could do this in the source code, but >not by using aliases on mine.name.com.
Yes, this is precisely what I want to accomplish. Could you point me to some place, or the portion of the code that needs to be tinkered with. I am not a perl/python person, so this is going to be a huge learning curve for me.
Regards Elvis
On 2/11/06, Mark Sapiro <msapiro@value.net> wrote:
Tom Kavanaugh wrote:
I setup a few mail lists (including default mailman list) in name.comdomain, and worked with my IT folks to redirect <maillist>@ name.com to my mail server <mailist>@mine.name.com I do get a few <maillist-name>-bounce@name.com emails, and I would like
to
re-direct all these emails to mailman@name.com (or mailman@mine.name.com) Does someone have ideas how to accomplish this?
I do not administer the company's mail servers. Folks here are not open to the list.name.com domain idea, for legacy reasons.
Depending on the MTA that recieves the incoming mail for the name.com domain and whether it has the ability through NTFS or whatever to access files or directories on mine.name.com, it may or may not be possible to do something to direct all list mail to mine.name.com by looking at aliases or whatever on mine.name.com, but that may be even less acceptable to the IT folks than just installing the necessary aliases.
See the post at <http://mail.python.org/pipermail/mailman-users/2006-January/048725.html> and the surrounding posts in that thread for more on this.
Basically, there are 10 addresses per list - the listname address plus the 9 listname-* (where * is admin, bounces, confirm, join, leave, owner, request, subscribe or unsubscribe) addresses - which all must be able to receive mail and route it to Mailman in a way that Mailman can tell which of the 10 addresses it came from. In order for Mailman to fully function as documented, 9 of these should work (-admin is deprecated). You can get away without some of the others if you don't tell people about them, and they don't expect them to work from other Mailman experience.
I have a bunch of /etc/aliases entries for each of my mail lists on mine.name.com server. Is there a way I can use these alaises to re-firect <maillist-bounce>@ name.com to mailman@name.com
I'm not sure what you're getting at here. If you're thinking that you can get around the issue by having all bounces from any list be returned to the 'mailman' list posting address, you could do this in the source code, but not by using aliases on mine.name.com. But, you still have the issue of the other listname-* addresses.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Tom Kavanaugh wrote:
If you're thinking that you can get around the issue by having all bounces from any list be returned to the 'mailman' list posting address, you could do this in the source code, but >not by using aliases on mine.name.com.
Yes, this is precisely what I want to accomplish. Could you point me to some place, or the portion of the code that needs to be tinkered with. I am not a perl/python person, so this is going to be a huge learning curve for me.
There are two obvious ways that jump to mind.
The first, which will address the bounce issue for all mail, is the following code at the beginning of the process() function in Mailman/Handlers/SMTPDirect.py
# Calculate the non-VERP envelope sender.
envsender = msgdata.get('envsender')
if envsender is None:
if mlist:
envsender = mlist.GetBouncesEmail()
else:
envsender = Utils.get_site_email(extra='bounces')
which could simply be replaced by something like
# Envelope sender (bounces) is always the site list.
envsender = 'mailman@name.com'
Don't worry about VERP because it is calculated from envsender.
Another way to do it would be to modify the getListAddress() method definition in Mailman/MailList.py to just return 'mailman@name.com' when extra is not None and similarly modify get_site_email() in Mailman/Utils.py to ignore the extra argument.
Then it might be possible to do it in your outgoing MTA, not with aliases, but with some kind of rewrite of the envelope sender on outgoing mail if your MTA supports such a thing.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hi Mark,
Thanks for your response and suggestions.
I modified the Mailman/Handlers/SMTPDirect.py per you suggestions. The unix_sysadmin-bounce emails now get redirected to mailman@name.com That is the good part.
But what is happening now is that the mailman server keeps spitting out these emails to the mailman mail list. Every few minutes I am bomarded with these emails from the mailman mail list. The relevant contents are:
Reporting-MTA: dns; utc80.name.com Received-From-MTA: DNS; localhost Arrival-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Final-Recipient: RFC822; unix_sysadmin-bounces@name.com <unix_sysadmin-bounces@am.necel.com> Action: failed Status: 5.1.1 Remote-MTA: DNS; mailhost.name.com Diagnostic-Code: SMTP; 550 5.1.1 <unix_sysadmin-bounces@name.com> <unix_sysadmin-bounces@am.necel.com>... User unknown Last-Attempt-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Seems that the mailman server (utc80) is re-trying to send to unix_sysadmin-bounces@name.com, although it knows that this is an unknown user.
Could you tell me how to go about fixing this?
Thanks Tom
On 2/12/06, Mark Sapiro <msapiro@value.net> wrote:
Tom Kavanaugh wrote:
If you're thinking that you can get around the issue by having all
bounces
returned to the 'mailman' list posting address, you could do this in the
from any list be source code, but >not by using aliases on mine.name.com.
Yes, this is precisely what I want to accomplish. Could you point me to some place, or the portion of the code that needs to be tinkered with. I am not a perl/python person, so this is going to be a huge learning curve for me.
There are two obvious ways that jump to mind.
The first, which will address the bounce issue for all mail, is the following code at the beginning of the process() function in Mailman/Handlers/SMTPDirect.py
# Calculate the non-VERP envelope sender. envsender = msgdata.get('envsender') if envsender is None: if mlist: envsender = mlist.GetBouncesEmail() else: envsender = Utils.get_site_email(extra='bounces')
which could simply be replaced by something like
# Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com'
Don't worry about VERP because it is calculated from envsender.
Another way to do it would be to modify the getListAddress() method definition in Mailman/MailList.py to just return 'mailman@name.com' when extra is not None and similarly modify get_site_email() in Mailman/Utils.py to ignore the extra argument.
Then it might be possible to do it in your outgoing MTA, not with aliases, but with some kind of rewrite of the envelope sender on outgoing mail if your MTA supports such a thing.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Tom Kavanaugh wrote:
I modified the Mailman/Handlers/SMTPDirect.py per you suggestions. The unix_sysadmin-bounce emails now get redirected to mailman@name.com That is the good part.
But what is happening now is that the mailman server keeps spitting out these emails to the mailman mail list. Every few minutes I am bomarded with these emails from the mailman mail list. The relevant contents are:
You asked how to redirect bounces to the mailman@name.com address (the posting address for the site list) and that's what's happening.
Reporting-MTA: dns; utc80.name.com Received-From-MTA: DNS; localhost Arrival-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Final-Recipient: RFC822; unix_sysadmin-bounces@name.com <unix_sysadmin-bounces@am.necel.com> Action: failed Status: 5.1.1 Remote-MTA: DNS; mailhost.name.com Diagnostic-Code: SMTP; 550 5.1.1 <unix_sysadmin-bounces@name.com> <unix_sysadmin-bounces@am.necel.com>... User =09unknown Last-Attempt-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Seems that the mailman server (utc80) is re-trying to send to unix_sysadmin-bounces@name.com, although it knows that this is an unknown user.
Mailman doesn't know anything about what addresses are or are not deliverable, and since you have effectively disabled automatic bounce processing, it can never find out.
My best guess here is that unix_sysadmin-bounces@name.com is a member of the mailman@name.com list. If that's not it, I don't know what is. Does that notice contain a copy of the original message? if so, what is it? Or does it keep growing as the same bounce keeps rebouncing?
This is an interesting issue. Every message from the mailman@name.com list had better be deliverable or you will get a bounce loop.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hi Mark,
My best guess here is that unix_sysadmin-bounces@name.com is a member of the mailman@name.com list.
Yes, that was correct. And hence the mails were getting into a bounce loop. I have removed unix_sysadmin-bounces@name.com from mailman@name.com.
I was soooo stupid to do it in the first place, but this was a great learning for me. All is good now.
Thanks Tom
On 2/23/06, Mark Sapiro <msapiro@value.net> wrote:
Tom Kavanaugh wrote:
I modified the Mailman/Handlers/SMTPDirect.py per you suggestions. The unix_sysadmin-bounce emails now get redirected to mailman@name.com That is the good part.
But what is happening now is that the mailman server keeps spitting out these emails to the mailman mail list. Every few minutes I am bomarded
with
these emails from the mailman mail list. The relevant contents are:
You asked how to redirect bounces to the mailman@name.com address (the posting address for the site list) and that's what's happening.
Reporting-MTA: dns; utc80.name.com Received-From-MTA: DNS; localhost Arrival-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Final-Recipient: RFC822; unix_sysadmin-bounces@name.com <unix_sysadmin-bounces@am.necel.com> Action: failed Status: 5.1.1 Remote-MTA: DNS; mailhost.name.com Diagnostic-Code: SMTP; 550 5.1.1 <unix_sysadmin-bounces@name.com> <unix_sysadmin-bounces@am.necel.com>... User =09unknown Last-Attempt-Date: Thu, 23 Feb 2006 16:13:39 -0800 (PST)
Seems that the mailman server (utc80) is re-trying to send to unix_sysadmin-bounces@name.com, although it knows that this is an unknown user.
Mailman doesn't know anything about what addresses are or are not deliverable, and since you have effectively disabled automatic bounce processing, it can never find out.
My best guess here is that unix_sysadmin-bounces@name.com is a member of the mailman@name.com list. If that's not it, I don't know what is. Does that notice contain a copy of the original message? if so, what is it? Or does it keep growing as the same bounce keeps rebouncing?
This is an interesting issue. Every message from the mailman@name.com list had better be deliverable or you will get a bounce loop.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hello,
I recently migrated mailman to a RH Linux server (previously it was a SPARC Solaris box). For re-directing having all bounces from any list be to the 'mailman' list posting address, I updated the Mailman/Handlers/SMTPDirect.py as below. I beleive that this was what I did on the Solaris box earlier. But, now on the RH Linux box, the -bounce emails are not getting redirected to the mailman list.
Is something changed for RH Linux? Or, am I missing somethign else?
Any help is appreaciated.
# Calculate the non-VERP envelope sender. #envsender = msgdata.get('envsender') #if envsender is None: # if mlist: # envsender = mlist.GetBouncesEmail() # else: # envsender = Utils.get_site_email(extra='bounces') ## Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com' # Time to split up the recipient list. If we're personalizing or VERPing # then each chunk will have exactly one recipient. We'll then hand craft
Thanks Tom
On 2/12/06, Mark Sapiro <msapiro@value.net> wrote:
Tom Kavanaugh wrote:
If you're thinking that you can get around the issue by having all
bounces
returned to the 'mailman' list posting address, you could do this in the
from any list be source code, but >not by using aliases on mine.name.com.
Yes, this is precisely what I want to accomplish. Could you point me to some place, or the portion of the code that needs to be tinkered with. I am not a perl/python person, so this is going to be a huge learning curve for me.
There are two obvious ways that jump to mind.
The first, which will address the bounce issue for all mail, is the following code at the beginning of the process() function in Mailman/Handlers/SMTPDirect.py
# Calculate the non-VERP envelope sender. envsender = msgdata.get('envsender') if envsender is None: if mlist: envsender = mlist.GetBouncesEmail() else: envsender = Utils.get_site_email(extra='bounces')
which could simply be replaced by something like
# Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com'
Don't worry about VERP because it is calculated from envsender.
Another way to do it would be to modify the getListAddress() method definition in Mailman/MailList.py to just return 'mailman@name.com' when extra is not None and similarly modify get_site_email() in Mailman/Utils.py to ignore the extra argument.
Then it might be possible to do it in your outgoing MTA, not with aliases, but with some kind of rewrite of the envelope sender on outgoing mail if your MTA supports such a thing.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Tom Kavanaugh wrote:
I recently migrated mailman to a RH Linux server (previously it was a SPARC Solaris box). For re-directing having all bounces from any list be to the 'mailman' list posting address, I updated the Mailman/Handlers/SMTPDirect.py as below. I beleive that this was what I did on the Solaris box earlier. But, now on the RH Linux box, the -bounce emails are not getting redirected to the mailman list.
Is something changed for RH Linux?
The patch seems good.
Can you post to the mailman list at all? Check your aliases to see how mail to mailman@name.com is being handled. Do you have aliases for the mailman list at all? Is mail to mailman@name.com being delivered to a local mailbox?
I recent post to this list <http://mail.python.org/pipermail/mailman-users/2006-April/050332.html> showed aliases from a cpanel installation where mail to mailman was sent to /dev/null. I have no reason to think RedHat would do this, but you never know.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hello folks,
I am currently re-directing all the lists -admin -bounce -owner -confirm -join -leave -owner -request -subscribe -unsubsribe to mailman@name.com
Currently, I administer all the mail lists and so this works well.
Going forward, I would like to make the list ownership of each list to the relevant project manager. So, the -admin, -bounce, etc of every list will have to go to a different email.
My Mailman/Handlers/SMTPDirect.py looks like below. This was done from my previous posting in this discussion forum. # Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com'
Is it possible for : lista -admin -bounce -owner -confirm etc to go to name1@name.com listb -admin -bounce -owner -confirm etc to go to name2@name.com listc -admin -bounce -owner -confirm etc to go to name3@name.com
Thanks Tom
On 2/12/06, Mark Sapiro <msapiro@value.net> wrote:
Tom Kavanaugh wrote:
If you're thinking that you can get around the issue by having all
bounces
returned to the 'mailman' list posting address, you could do this in the
from any list be source code, but >not by using aliases on mine.name.com.
Yes, this is precisely what I want to accomplish. Could you point me to some place, or the portion of the code that needs to be tinkered with. I am not a perl/python person, so this is going to be a huge learning curve for me.
There are two obvious ways that jump to mind.
The first, which will address the bounce issue for all mail, is the following code at the beginning of the process() function in Mailman/Handlers/SMTPDirect.py
# Calculate the non-VERP envelope sender. envsender = msgdata.get('envsender') if envsender is None: if mlist: envsender = mlist.GetBouncesEmail() else: envsender = Utils.get_site_email(extra='bounces')
which could simply be replaced by something like
# Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com'
Don't worry about VERP because it is calculated from envsender.
Another way to do it would be to modify the getListAddress() method definition in Mailman/MailList.py to just return 'mailman@name.com' when extra is not None and similarly modify get_site_email() in Mailman/Utils.py to ignore the extra argument.
Then it might be possible to do it in your outgoing MTA, not with aliases, but with some kind of rewrite of the envelope sender on outgoing mail if your MTA supports such a thing.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 9/21/06, Tom Kavanaugh <tomnaugh@gmail.com> wrote:
Is it possible for : lista -admin -bounce -owner -confirm etc to go to name1@name.com listb -admin -bounce -owner -confirm etc to go to name2@name.com listc -admin -bounce -owner -confirm etc to go to name3@name.com
Yes, but this is a bad idea unless you really do not want bounce processing and email command processing and the like.
Just edit your aliases file, or wherever the redirections are done currently, and make the changes you want.
--
- Patrick Bogen
Tom Kavanaugh wrote:
I am currently re-directing all the lists -admin -bounce -owner -confirm -join -leave -owner -request -subscribe -unsubsribe to mailman@name.com
Currently, I administer all the mail lists and so this works well.
Going forward, I would like to make the list ownership of each list to the relevant project manager. So, the -admin, -bounce, etc of every list will have to go to a different email.
My Mailman/Handlers/SMTPDirect.py looks like below. This was done from my previous posting in this discussion forum. # Envelope sender (bounces) is always the site list. envsender = 'mailman@name.com'
Is it possible for : lista -admin -bounce -owner -confirm etc to go to name1@name.com listb -admin -bounce -owner -confirm etc to go to name2@name.com listc -admin -bounce -owner -confirm etc to go to name3@name.com
I have looked at the post at <http://mail.python.org/pipermail/mailman-users/2006-February/049229.html> and the surrounding thread. I am still a bit hazy on this as it relates to the -admin, -owner, -confirm, etc. addresses since the SMTPDirect.py modification only deals with bounces by effectively replacing the -bounces address with the address of the site list.
The prior thread seems to indicate that using aliases was problematic because more than one server was involved and you didn't have access to the incoming mail server for the domain. If it is the case that all the list mail comes to your server somehow and is then delivered to Mailman via aliases, then as Patrick suggests, you can use these aliases to send the mail anywhere you want.
If you want to address just bounces in the same manner as your current SMTPDirect.py modification that changes
# Calculate the non-VERP envelope sender.
envsender = msgdata.get('envsender')
if envsender is None:
if mlist:
envsender = mlist.GetBouncesEmail()
else:
envsender = Utils.get_site_email(extra='bounces')
to
# Envelope sender (bounces) is always the site list.
envsender = 'mailman@example.com'
You could instead change it to
# Envelope sender (bounces) is always the first list owner.
if mlist:
envsender = mlist.owner[0]
else:
envsender = 'mailman@example.com'
This would set the envelope sender of any message sent on behalf of a list to the first address in the 'owner' attribute, and set it to the fixed address if there wasn't a specific list involved.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
Mark Sapiro
-
Patrick Bogen
-
Tom Kavanaugh