exim says 'unrouteable' on new list
Hi
I have exim4 and mailman running successfully on my server. I have a working list that runs at somelistname@artfulrobot.com and a working web admin iface. All good.
But now I want to set up a new list under a subdomain for another client. This list name does not clash with my other list, and it is does not clash with a username on the server.
I set it up with this command
$ newlist -e maybe.artfulrobot.com -u artfulrobot.com community
I used the web iface to mass subscribe my own email address, and I got a "welcome" message. But when I try to send to the list, it bounces back.
Nb. I can email someotheruser@maybe.artfulrobot.com and receive it at someotheruser's normal user account.
I looked at the output from this command: $ exim4 -d -bt community@maybe.artfulrobot.com
to see why it was failing. Output below.
Basically, it seems that mm has not registered community@maybe.artfulrobot.com in data/virtual-mailman.
I've read lots of postings, docs etc. but gotten nowhere. I've tried fiddling with /etc/mailman/mm_cfg.py, adding things like:
MTA=None (and MTA='None')
add_virtualhost('maybe.artfulrobot.com','maybe.artfulrobot.com' )
POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'artfulrobot.com', 'maybe.artfulrobot.com']
Each change I've restarted MM. Tried and got the unrouteable error again.
Can anyone help?! thanks...
Rich
--------> mailman_router router <-------- local_part=community domain=maybe.artfulrobot.com checking domains cached yes match for +local_domains cached lookup data = NULL maybe.artfulrobot.com in "+local_domains"? yes (matched "+local_domains"
- cached) checking require_files file check: /var/lib/mailman/lists/$local_part/config.pck expanded file: /var/lib/mailman/lists/community/config.pck stat() yielded 0 checking "condition" search_open: lsearch "/var/lib/mailman/data/virtual-mailman" search_find: file="/var/lib/mailman/data/virtual-mailman" key="community@maybe.artfulrobot.com" partial=-1 affix=NULL starflags=0 LRU list: :/var/lib/mailman/data/virtual-mailman :/etc/aliases End internal_search_find: file="/var/lib/mailman/data/virtual-mailman" type=lsearch key="community@maybe.artfulrobot.com" file lookup required for community@maybe.artfulrobot.com in /var/lib/mailman/data/virtual-mailman lookup failed mailman_router router skipped: condition failure no more routers search_tidyup called
>>>>>>>>>> Exim pid=2959 terminating with rc=2 >>>>>>>>>>>>>>>>
On Sat, Aug 06, 2011 at 11:57:22PM +0100, Rich Lott wrote:
Hi
I have exim4 and mailman running successfully on my server. I have a
working list that runs at somelistname@artfulrobot.com and a working web
admin iface. All good.I looked at the output from this command: $ exim4 -d -bt community@maybe.artfulrobot.com
to see why it was failing. Output below.
Basically, it seems that mm has not registered
community@maybe.artfulrobot.com in data/virtual-mailman.
Your debug message states:
file lookup required for community@maybe.artfulrobot.com in /var/lib/mailman/data/virtual-mailman lookup failed
Is that correct? (i.e., does /var/lib/mailman/data/virtual-mailman...) exist?
I've read lots of postings, docs etc. but gotten nowhere. I've tried
fiddling with /etc/mailman/mm_cfg.py, adding things like:
For Exim and Mailman, I'd use the canonical document:
http://www.exim.org/howto/mailman21.html
and that alone.
MTA=None (and MTA='None')
add_virtualhost('maybe.artfulrobot.com','maybe.artfulrobot.com' )
POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'artfulrobot.com',
'maybe.artfulrobot.com']
I'd not bother with that sort of thing. Just use the tried-and-tested
http://www.exim.org/howto/mailman21.html
Each change I've restarted MM. Tried and got the unrouteable error again.
If you're fiddling with Exim that probably needs HUPing.
-- "Well, you didn't design your beard too well, did you? You really must try better with your beard." -- DoE to a fashion designer
Rich Lott wrote:
I have exim4 and mailman running successfully on my server. I have a working list that runs at somelistname@artfulrobot.com and a working web admin iface. All good.
But now I want to set up a new list under a subdomain for another client. This list name does not clash with my other list, and it is does not clash with a username on the server.
I set it up with this command
$ newlist -e maybe.artfulrobot.com -u artfulrobot.com community
I used the web iface to mass subscribe my own email address, and I got a "welcome" message. But when I try to send to the list, it bounces back.
Nb. I can email someotheruser@maybe.artfulrobot.com and receive it at someotheruser's normal user account.
I looked at the output from this command: $ exim4 -d -bt community@maybe.artfulrobot.com
to see why it was failing. Output below.
Basically, it seems that mm has not registered community@maybe.artfulrobot.com in data/virtual-mailman.
I don't know how you are routing and delivering Mailman's incoming mail in Exim, but you are apparently not following the recommended method described at <http://www.exim.org/howto/mailman21.html>.
If you rely on data/virtual-mailman, you need to have the following in mm_cfg.py.
MTA = 'Postfix' POSTFIX_STYLE_VIRTUAL_DOMAINS = [..., 'maybe.artfulrobot.com']
where ... is your other list email domain(s) that you presumably had since it was working.
I've read lots of postings, docs etc. but gotten nowhere. I've tried fiddling with /etc/mailman/mm_cfg.py, adding things like:
MTA=None (and MTA='None')
It's MTA = None, not 'None', but as I said above you want MTA = 'Postfix'.
add_virtualhost('maybe.artfulrobot.com','maybe.artfulrobot.com' )
This should be
add_virtualhost('artfulrobot.com', 'maybe.artfulrobot.com')
unless you already have another add_virtualhost with artfulrobot.com (or DEFAULT_URL_HOST = 'artfulrobot.com') as the url host. If that is the case, it is probably best to omit this add_virtualhost and have
VIRTUAL_HOST_OVERVIEW = Off
instead.
POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'artfulrobot.com', 'maybe.artfulrobot.com']
And you do want this.
Each change I've restarted MM. Tried and got the unrouteable error again.
Because restarting Mailman doesn't change anything. You need to run Mailman's bin/genaliases to rebuild virtual-mailman after adding 'maybe.artfulrobot.com' to POSTFIX_STYLE_VIRTUAL_DOMAINS.
See below for more.
Can anyone help?! thanks...
Rich
--------> mailman_router router <-------- local_part=community domain=maybe.artfulrobot.com checking domains cached yes match for +local_domains cached lookup data = NULL maybe.artfulrobot.com in "+local_domains"? yes (matched "+local_domains"
- cached) checking require_files file check: /var/lib/mailman/lists/$local_part/config.pck expanded file: /var/lib/mailman/lists/community/config.pck stat() yielded 0
It appears you are using something like the router described at <http://www.exim.org/howto/mailman21.html>, but you have this extra condition below requiring virtual-mailman. I suggest you remove that from your Exim mailman router and follow the recommendations in the howto.
checking "condition" search_open: lsearch "/var/lib/mailman/data/virtual-mailman" search_find: file="/var/lib/mailman/data/virtual-mailman" key="community@maybe.artfulrobot.com" partial=-1 affix=NULL starflags=0 LRU list: :/var/lib/mailman/data/virtual-mailman :/etc/aliases End internal_search_find: file="/var/lib/mailman/data/virtual-mailman" type=lsearch key="community@maybe.artfulrobot.com" file lookup required for community@maybe.artfulrobot.com in /var/lib/mailman/data/virtual-mailman lookup failed mailman_router router skipped: condition failure no more routers search_tidyup called
>>>>>>>>>>> Exim pid=2959 terminating with rc=2 >>>>>>>>>>>>>>>>
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Thanks Adam and Mark for your responses. I'm always amazed at the generosity of the open source community and I do appreciate it.
After about 4 hours fiddling I'd managed to find a fix. I think the main thing I was missing was that you have to run genaliases in order to update the lookup file.
I had read http://www.exim.org/howto/mailman21.html but not found it particularly enlightening, esp. the exim section. I had read a lot more, too. Just search this list for "virutal domain" and you'll see how many others have problems too, and I read through lots of those!
In the end I found /usr/share/doc/mailman/README.Exim4.Debian.gz which was most helpful.
For the benefit of anyone reading this, I have learnt:
in mm_config, it says postfix but it means exim too. Unfortunate lexical obfuscation ;-)
virtual domains look like quite a hassle with postfix, but with exim they're easy as long as your lists all have unique names, regardless of their domain (or you have to run 2 installs of mm)
running genaliases is needed to update existing lists.
beyond the instructions in README.Exim4.Debian I added a line add_virtualhost('my.virt.host.com','my.virt.host.com') for each virtualhost. I'm not sure this is needed once it's listed in POSTFIX_STYLE_VIRTUAL_DOMAINS but I'm not going to try to break it now I've finally got it working!
Exim +debconf rocks: debconf effortlessly ensured I avoided the pitfalls that seem so common from reports elsewhere on MTA config, and exim -d -bt some@email.address.com bends over backwards to tell you what it's doing.
Happy at last.
Good luck to everyone else!
Rich
On 06/08/11 23:57, Rich Lott wrote:
Hi
I have exim4 and mailman running successfully on my server. I have a working list that runs at somelistname@artfulrobot.com and a working web admin iface. All good.
But now I want to set up a new list under a subdomain for another client. This list name does not clash with my other list, and it is does not clash with a username on the server.
I set it up with this command
$ newlist -e maybe.artfulrobot.com -u artfulrobot.com community
I used the web iface to mass subscribe my own email address, and I got a "welcome" message. But when I try to send to the list, it bounces back.
Nb. I can email someotheruser@maybe.artfulrobot.com and receive it at someotheruser's normal user account.
I looked at the output from this command: $ exim4 -d -bt community@maybe.artfulrobot.com
to see why it was failing. Output below.
Basically, it seems that mm has not registered community@maybe.artfulrobot.com in data/virtual-mailman.
I've read lots of postings, docs etc. but gotten nowhere. I've tried fiddling with /etc/mailman/mm_cfg.py, adding things like:
MTA=None (and MTA='None')
add_virtualhost('maybe.artfulrobot.com','maybe.artfulrobot.com' )
POSTFIX_STYLE_VIRTUAL_DOMAINS = [ 'artfulrobot.com', 'maybe.artfulrobot.com']
Each change I've restarted MM. Tried and got the unrouteable error again.
Can anyone help?! thanks...
Rich
--------> mailman_router router <-------- local_part=community domain=maybe.artfulrobot.com checking domains cached yes match for +local_domains cached lookup data = NULL maybe.artfulrobot.com in "+local_domains"? yes (matched "+local_domains" - cached) checking require_files file check: /var/lib/mailman/lists/$local_part/config.pck expanded file: /var/lib/mailman/lists/community/config.pck stat() yielded 0 checking "condition" search_open: lsearch "/var/lib/mailman/data/virtual-mailman" search_find: file="/var/lib/mailman/data/virtual-mailman" key="community@maybe.artfulrobot.com" partial=-1 affix=NULL starflags=0 LRU list: :/var/lib/mailman/data/virtual-mailman :/etc/aliases End internal_search_find: file="/var/lib/mailman/data/virtual-mailman" type=lsearch key="community@maybe.artfulrobot.com" file lookup required for community@maybe.artfulrobot.com in /var/lib/mailman/data/virtual-mailman lookup failed mailman_router router skipped: condition failure no more routers search_tidyup called
>>>>>>>>>>> Exim pid=2959 terminating with rc=2 >>>>>>>>>>>>>>>>
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/rl6%40shinyblue.net
Rich wrote:
After about 4 hours fiddling I'd managed to find a fix. I think the main thing I was missing was that you have to run genaliases in order to update the lookup file.
The reason you needed to run genaliases is that you created the list before adding its domain to POSTFIX_STYLE_VIRTUAL_DOMAINS. Had you added the domain to POSTFIX_STYLE_VIRTUAL_DOMAINS before creating the list, you wouldn't have needed to run genaliases.
I had read http://www.exim.org/howto/mailman21.html but not found it particularly enlightening, esp. the exim section.
If your exim router were configured as this howto suggests, you could have MTA = None in mm_cfg.py, and you wouldn't need virtual-mailman (or POSTFIX_STYLE_VIRTUAL_DOMAINS), and new lists would just work.
I had read a lot more, too. Just search this list for "virutal domain" and you'll see how many others have problems too, and I read through lots of those!
In the end I found /usr/share/doc/mailman/README.Exim4.Debian.gz which was most helpful.
For the benefit of anyone reading this, I have learnt:
- in mm_config, it says postfix but it means exim too. Unfortunate lexical obfuscation ;-)
Only because you are apparently doing things the Debian way instead of the recommended way.
- virtual domains look like quite a hassle with postfix, but with exim they're easy as long as your lists all have unique names, regardless of their domain (or you have to run 2 installs of mm)
And you are configuring Exim so that you need to do all the Postfix hassle which is unnecessary if you do it the recommended way.
- running genaliases is needed to update existing lists.
If you are relying on MTA = 'Postfix' and POSTFIX_STYLE_VIRTUAL_DOMAINS and you create the list before updating POSTFIX_STYLE_VIRTUAL_DOMAINS, this is correct.
- beyond the instructions in README.Exim4.Debian I added a line add_virtualhost('my.virt.host.com','my.virt.host.com') for each virtualhost. I'm not sure this is needed once it's listed in POSTFIX_STYLE_VIRTUAL_DOMAINS but I'm not going to try to break it now I've finally got it working!
add_virtualhost directives have nothing directly to do with virtual-mailman. They provide a Python dictionary mapping from 'web host' to 'email host'. This is used to determine the email domain for a created list when creating it from the web or via newlist without specifying an email host. Also see the FAQ at <http://wiki.list.org/x/lYA9>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Thanks for patient explanations.
I've changed my config to the Mailman Official Way, because it seems slightly cleaner than Debian's (only have to edit exim config to add a new sub domain). Seems to be working...
Many thanks,
Rich.
On 08/08/11 07:44, Mark Sapiro wrote:
Rich wrote:
After about 4 hours fiddling I'd managed to find a fix. I think the main thing I was missing was that you have to run genaliases in order to update the lookup file.
The reason you needed to run genaliases is that you created the list before adding its domain to POSTFIX_STYLE_VIRTUAL_DOMAINS. Had you added the domain to POSTFIX_STYLE_VIRTUAL_DOMAINS before creating the list, you wouldn't have needed to run genaliases.
I had read http://www.exim.org/howto/mailman21.html but not found it particularly enlightening, esp. the exim section.
If your exim router were configured as this howto suggests, you could have MTA = None in mm_cfg.py, and you wouldn't need virtual-mailman (or POSTFIX_STYLE_VIRTUAL_DOMAINS), and new lists would just work.
I had read a lot more, too. Just search this list for "virutal domain" and you'll see how many others have problems too, and I read through lots of those!
In the end I found /usr/share/doc/mailman/README.Exim4.Debian.gz which was most helpful.
For the benefit of anyone reading this, I have learnt:
- in mm_config, it says postfix but it means exim too. Unfortunate lexical obfuscation ;-)
Only because you are apparently doing things the Debian way instead of the recommended way.
- virtual domains look like quite a hassle with postfix, but with exim they're easy as long as your lists all have unique names, regardless of their domain (or you have to run 2 installs of mm)
And you are configuring Exim so that you need to do all the Postfix hassle which is unnecessary if you do it the recommended way.
- running genaliases is needed to update existing lists.
If you are relying on MTA = 'Postfix' and POSTFIX_STYLE_VIRTUAL_DOMAINS and you create the list before updating POSTFIX_STYLE_VIRTUAL_DOMAINS, this is correct.
- beyond the instructions in README.Exim4.Debian I added a line add_virtualhost('my.virt.host.com','my.virt.host.com') for each virtualhost. I'm not sure this is needed once it's listed in POSTFIX_STYLE_VIRTUAL_DOMAINS but I'm not going to try to break it now I've finally got it working!
add_virtualhost directives have nothing directly to do with virtual-mailman. They provide a Python dictionary mapping from 'web host' to 'email host'. This is used to determine the email domain for a created list when creating it from the web or via newlist without specifying an email host. Also see the FAQ at <http://wiki.list.org/x/lYA9>.
On Mon, Aug 08, 2011 at 09:44:41AM +0100, Rich Lott wrote:
Thanks for patient explanations.
That'll be Mark ;o)
I've changed my config to the Mailman Official Way, because it seems
slightly cleaner than Debian's (only have to edit exim config to add a
new sub domain). Seems to be working...
Debian Exim (pkg-exim4), can, almost, be made to work like Proper Exim should, with a monolithic exim4.conf file, and a few tweaks to /etc/{default,init.d}/exim4.
I can't remember where my patches are, but they're not in The Usual Place, annoyingly.
-- The trouble with the rat race is that, even if you win, you're still a rat
participants (4)
-
Adam McGreggor -
Mark Sapiro -
Rich -
Rich Lott