Re: [Mailman-Users] Recipient address rejected: User unknown in virtualmailbox table
On Fri, 9 Jul 2010, franc walter wrote:
But now i have the problem, that i want to create another list with another virtual domain (example2.org), which is running on the same server.
I guess this is only possible with this setting to get this virtual-mailman.db, but i don't know how to continue..
Can you post your mm_cfg.py file as it is now?
Geoff.
Am Fri, 9 Jul 2010 19:22:30 +0300 (IDT) schriebst du:
Can you post your mm_cfg.py file as it is now?
My mm_cfg.py:
# -*- python -*-
"""This is the module which takes your site-specific settings.
From a raw distribution it should be copied to mm_cfg.py. If you already have an mm_cfg.py, be careful to add in only the new settings you want. The complete set of distributed defaults, with annotation, are in ./Defaults. In mm_cfg, override only those you want to change, after the
from Defaults import *
line (see below).
Note that these are just default settings - many can be overridden via the admin and user interfaces on a per-list or per-user basis.
Note also that some of the settings are resolved against the active list setting by using the value as a format string against the list-instance-object's dictionary - see the distributed value of DEFAULT_MSG_FOOTER for an example."""
from Defaults import *
MAILMAN_SITE_LIST = 'mailman'
DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/'
PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private'
IMAGE_LOGOS = '/images/mailman/'
DEFAULT_EMAIL_HOST = 'lists.example.org'
DEFAULT_URL_HOST = 'example.org'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_SERVER_LANGUAGE = 'en'
USE_ENVELOPE_SENDER = 0 # Still used?
DEFAULT_SEND_REMINDERS = 0
MTA='Postfix'
DEFAULT_SERVER_LANGUAGE = 'de'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['example.org', 'example2.de']
franc walter wrote:
Am Fri, 9 Jul 2010 19:22:30 +0300 (IDT) schriebst du:
Can you post your mm_cfg.py file as it is now?
My mm_cfg.py: [...] MAILMAN_SITE_LIST = 'mailman'
DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/'
PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private'
IMAGE_LOGOS = '/images/mailman/'
DEFAULT_EMAIL_HOST = 'lists.example.org'
DEFAULT_URL_HOST = 'example.org'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_SERVER_LANGUAGE = 'en'
USE_ENVELOPE_SENDER = 0 # Still used?
DEFAULT_SEND_REMINDERS = 0
MTA='Postfix'
DEFAULT_SERVER_LANGUAGE = 'de'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['example.org', 'example2.de']
You have only set one host. The default host has web domain 'example.org' and email domain 'lists.example.org'.
The only lists for which Mailman will create virtual-mailman entries are those whose email domain is 'example.org' or 'example2.de'.
At a minimum, you want to put something like
add_virtualhost('www.example2.de', 'example2.de')
following the add_virtualhost() for the default domains. Then you could create a list in the example2.de domain either by going to <http://www.example2.de/mailman/cgi-bin/create> or via "bin/newlist -u www.example2.de" and the list will be created with email domain (the list's host_name attribute) example2.de and virtual mappings for the list will be created in data/virtual-mailman (because example2.de is in POSTFIX_STYLE_VIRTUAL_DOMAINS.
As it is, your lists are created with email host (host_name) = DEFAULT_EMAIL_HOST = 'lists.example.org' which is not in POSTFIX_STYLE_VIRTUAL_DOMAINS, so no virtual-mailman entries.
Do you really want the default lists to have URLs like <http://example.org/mailman/cgi-bin/...> and email addresses like list@lists.example.org? If this is the reverse of what you want, you need to reverse your settings for DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST.
If you make changes, you will probably need to run fix_url to change the existing lists.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, 9 Jul 2010 18:20:25 -0700 you wrote:
You have only set one host. The default host has web domain 'example.org' and email domain 'lists.example.org'.
The only lists for which Mailman will create virtual-mailman entries are those whose email domain is 'example.org' or 'example2.de'.
At a minimum, you want to put something like
add_virtualhost('www.example2.de', 'example2.de')
following the add_virtualhost() for the default domains.
OK, again, if I have 3 virtual domains on it:
example1.org example2.org example3.org
and i want to have for each domain a separate list:
list1 on example1.org list2 on example2.org list3 on example3.org
The emailhost of each of those lists should be like
lists.example1.org lists.example2.org lists.example3.org
So is this the right setting:
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['example1.org', 'example2.org', 'example3.org']
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) add_virtualhost('example1.org', 'lists.example1.org') add_virtualhost('example2.org', 'lists.example2.org') add_virtualhost('example3.org', 'lists.example3.org')
?
In Postfix i put:
alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases relay_domains = lists.example1.org,lists.example2.org,lists.example3.org mydestination = lists.example1.org, lists.example2.org, lists.example3.org, example1.org, example2.org, example3.org, localhost virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf,hash:/var/lib/mailman/data/virtual-mailman
is this right?
I wonder if i want to add a new virtual domain, now i have to change a lot in mm_cfg.py (mailman) and also in main.cf (postfix). And only then i can run:
newlist --urlhost=example4.org --emailhost=lists.example4.org list4
This seems to me much too complicated that i think there must be still many things i didn't get or i set wrong.
I think my main problem is, that my origin language is NOT english and i probably just don't understand some important things when i read the doc. And there is NO german doc for mailman.
: franc
franc walter wrote:
OK, again, if I have 3 virtual domains on it:
example1.org example2.org example3.org
and i want to have for each domain a separate list:
list1 on example1.org list2 on example2.org list3 on example3.org
The emailhost of each of those lists should be like
lists.example1.org lists.example2.org lists.example3.org
So is this the right setting:
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['example1.org', 'example2.org', 'example3.org']
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) add_virtualhost('example1.org', 'lists.example1.org') add_virtualhost('example2.org', 'lists.example2.org') add_virtualhost('example3.org', 'lists.example3.org')
No. For the above situation you need
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example1.org', 'lists.example2.org', 'lists.example3.org']
The POSTFIX_STYLE_VIRTUAL_DOMAINS are email domains, not web domains.
In Postfix i put:
alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases relay_domains = lists.example1.org,lists.example2.org,lists.example3.org mydestination = lists.example1.org, lists.example2.org, lists.example3.org, example1.org, example2.org, example3.org, localhost
lists.example1.org,, etc are virtual_alias_domains, not relay_domains. Also, it they are in my_destination, they ar not Postfix virtual domains at all, they are local domains to Postfix.
You need to decide which they are. Either they are in virtual_alias_domains and not in my_destination, in which case, they also need to be in POSTFIX_STYLE_VIRTUAL_DOMAINS and you need the ,hash:/var/lib/mailman/data/virtual-mailman below, or they are in my-destination and not in virtual_alias_domains, in which case, they do not need to be in POSTFIX_STYLE_VIRTUAL_DOMAINS and you do not need the ,hash:/var/lib/mailman/data/virtual-mailman below
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf,hash:/var/lib/mailman/data/virtual-mailman
is this right?
I wonder if i want to add a new virtual domain, now i have to change a lot in mm_cfg.py (mailman) and also in main.cf (postfix). And only then i can run:
newlist --urlhost=example4.org --emailhost=lists.example4.org list4
This seems to me much too complicated that i think there must be still many things i didn't get or i set wrong.
It's only a bit mor complicated than necessary. You do have to add the lists.example4.org domain to virtual_alias_domains in main.cf and you do need the
add_virtualhost('example4.org', 'lists.example4.org') in mm_cfg.py as well as adding 'lists.example4.org' to POSTFIX_STYLE_VIRTUAL_DOMAINS. You also probably need to add the example4.org virtual host to the web server, or if they are local to Postfix, you just have to add lists.example4.org to my_destination and add the add_virtualhost('example4.org', 'lists.example4.org') to mm_cfg.py,
but your bin/newlist can be just
newlist --urlhost=example4.org list4
because newlist will look up the email host from the url host in the dictionary that's updated with add_virtualhost.
Also, you could create the list from the web via
http://example4.org/cgi-bin/mailman/create
I think my main problem is, that my origin language is NOT english and i probably just don't understand some important things when i read the doc. And there is NO german doc for mailman.
Perhaps you could contact the maintainers of the German translation (see <http://wiki.list.org/x/Pw>) and ask them to volunteer to create some.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Am Sat, 10 Jul 2010 07:47:52 -0700 schriebst du:
relay_domains = lists.example1.org,lists.example2.org,lists.example3.org
lists.example1.org,, etc are virtual_alias_domains, not relay_domains. Also, it they are in my_destination, they ar not Postfix virtual domains at all, they are local domains to Postfix.
If i remove the lists.example1.org from relay_domains and i send a mail to the list from an email-address which is NOT on the server, i just get a bounce:
/Remote_host_said:_554_5.7.1_<test@lists.example1.org>: _Relay_access_denied/Giving_up_on_1.2.3.4./
And if i put it back, it is not bounced.
So please tell me how i can avoid this bounce without putting lists.example1.org in relay_domains in main.cf of postfix.
franc walter wrote:
Am Sat, 10 Jul 2010 07:47:52 -0700 schriebst du:
relay_domains = lists.example1.org,lists.example2.org,lists.example3.org
lists.example1.org,, etc are virtual_alias_domains, not relay_domains. Also, it they are in my_destination, they ar not Postfix virtual domains at all, they are local domains to Postfix.
If i remove the lists.example1.org from relay_domains and i send a mail to the list from an email-address which is NOT on the server, i just get a bounce:
/Remote_host_said:_554_5.7.1_<test@lists.example1.org>: _Relay_access_denied/Giving_up_on_1.2.3.4./
And if i put it back, it is not bounced.
So please tell me how i can avoid this bounce without putting lists.example1.org in relay_domains in main.cf of postfix.
Put lists.example1.org in my_destination.
Or put lists.example1.org in virtual_alias_domains and do all the virtual_alias_maps stuff.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sat, 10 Jul 2010, franc walter wrote:
OK, again, if I have 3 virtual domains on it:
example1.org example2.org example3.org
and i want to have for each domain a separate list:
list1 on example1.org list2 on example2.org list3 on example3.org
The emailhost of each of those lists should be like
lists.example1.org lists.example2.org lists.example3.org
Do you want the Email addresses for your lists to be <listname>@lists.example1.org, <listname>@lists.example2.org, etc? This is what I think you're saying.
So is this the right setting:
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['example1.org', 'example2.org', 'example3.org']
If what I've written above is indeed what you want, then the postfix_style_virtual_domains will need to include the "list." part, as these are the Email host part of the adress.
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) add_virtualhost('example1.org', 'lists.example1.org') add_virtualhost('example2.org', 'lists.example2.org') add_virtualhost('example3.org', 'lists.example3.org')
This sets the Email address to be <listname>@lists.example1.org (etc) and the web URL to be http://example1.org/... Again, is this what you want?
In Postfix i put:
relay_domains = lists.example1.org,lists.example2.org,lists.example3.org
You won't want this. Relay_domains, as I understand them, are domains for which you *relay* mail, not domains you actually host on this host.
mydestination = lists.example1.org, lists.example2.org, lists.example3.org, example1.org, example2.org, example3.org, localhost
Again, you probably don't want your domains in mydestination if they're virtual.
I wonder if i want to add a new virtual domain, now i have to change a lot in mm_cfg.py (mailman) and also in main.cf (postfix).
All I have to do when adding a domain is add it to our database via postfixadmin, then edit mm_cfg.py and add a call to add_virtualhost() and also add it to POSTFIX_STYLE_VIRTUAL_DOMAINS. Pretty simple.
newlist --urlhost=example4.org --emailhost=lists.example4.org list4
If you have the add_virtual_host items in mm_cfg.py, you should be able to just do:
newlist list4@lists.example4.org
though I admit to usually using --urlhost and --emailhost anyway just to be sure.
HTH, Geoff.
Geoff Shang wrote:
On Sat, 10 Jul 2010, franc walter wrote:
newlist --urlhost=example4.org --emailhost=lists.example4.org list4
If you have the add_virtual_host items in mm_cfg.py, you should be able to just do:
newlist list4@lists.example4.org
The above is not correct. In this deprecated newlist usage, the domain to the right of the '@' is the url host, not the email host so the equivalent to Franc's command is
newlist list4@example4.org
assuming the add_virtualhost('example4.org ', 'lists.example4.org ') exists to map the urlhost to the email host.
But, this usage is deprecated and shouldn't be relied on.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sat, 10 Jul 2010, Mark Sapiro wrote:
newlist list4@lists.example4.org
The above is not correct. In this deprecated newlist usage, the domain to the right of the '@' is the url host, not the email host so the equivalent to Franc's command is
newlist list4@example4.org
huh! Well how's that for counter-intuitive.
Still, that's what I get for not checking.
Geoff.
Geoff Shang wrote:
huh! Well how's that for counter-intuitive.
That's why it's deprecated in favor of the -u option :)
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Am Fri, 9 Jul 2010 18:20:25 -0700 schriebst du:
Then you could create a list in the example2.de domain either by going to <http://www.example2.de/mailman/cgi-bin/create>
1. If i want to create a list, there is another mystery, the "List creator's password", which i never had given. If i look into the doc in: http://www.list.org/mailman-install/node45.html they send me to (7): http://www.list.org/mailman-install/customizing.html#customizing where there is no mention at all about this. So i had to set it myself with "mmsitepass". By the way, it is not .../mailman/cgi-bin but .../cgi-bin/mailman. 3. When i create the new list i get: "Bug in Mailman version 2.1.9 We're sorry, we hit a bug! Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs." But with list_lists i can see that the list was created (without notification mail). Is this true? A "bug" in Mailman? In the error log of mailman i find: Jul 10 12:07:37 2010 (5257) command failed: /usr/sbin/postmap /var/lib/mailman/data/virtual-mailman (status: 1, Operation not permitted) Jul 10 12:07:37 2010 admin(5257): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ admin(5257): [----- Mailman Version: 2.1.9 -----] admin(5257): [----- Traceback ------] admin(5257): Traceback (most recent call last): admin(5257): File "/var/lib/mailman/scripts/driver", line 110, in run_main admin(5257): main() admin(5257): File "/usr/lib/mailman/Mailman/Cgi/create.py", line 56, in main admin(5257): process_request(doc, cgidata) admin(5257): File "/usr/lib/mailman/Mailman/Cgi/create.py", line 238, in process_request admin(5257): sys.modules[modname].create(mlist, cgi=1) admin(5257): File "/usr/lib/mailman/Mailman/MTA/Postfix.py", line 232, in create admin(5257): _update_maps() admin(5257): File "/usr/lib/mailman/Mailman/MTA/Postfix.py", line 60, in _update_maps admin(5257): raise RuntimeError, msg % (vcmd, status, errstr) admin(5257): RuntimeError: command failed: /usr/sbin/postmap /var/lib/mailman/data/virtual-mailman (status: 1, Operation not permitted) admin(5257): [----- Python Information -----] admin(5257): sys.version = 2.5.2 (r252:60911, Jan 20 2010, 21:48:48) [GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] admin(5257): sys.executable = /usr/bin/python admin(5257): sys.prefix = /usr admin(5257): sys.exec_prefix = /usr admin(5257): sys.path = /usr admin(5257): sys.platform = linux2 admin(5257): [----- Environment Variables -----] admin(5257): HTTP_COOKIE: ... ... But the rights of virtual-mailman seem ok: ls -l /var/lib/mailman/data/virtual-mailman -rw-rw---- 1 www-data list 1,6K 2010-07-10 12:07 virtual-mailman But anyway, i can create lists with newlist, i don't need the webinterface, so this is not a big problem.
On Sat, 10 Jul 2010, franc walter wrote:
- If i want to create a list, there is another mystery, the "List creator's password", which i never had given. If i look into the doc in:
http://www.list.org/mailman-install/node45.html
they send me to (7):
http://www.list.org/mailman-install/customizing.html#customizing
where there is no mention at all about this. So i had to set it myself with "mmsitepass".
You're right. They should have sent you to section 12 - http://www.list.org/mailman-install/node44.html
You'd have already read this if you'd read the manual in sequence.
- When i create the new list i get:
"Bug in Mailman version 2.1.9 We're sorry, we hit a bug! Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs."
But with list_lists i can see that the list was created (without notification mail).
Is this true? A "bug" in Mailman?
Not in this case.
In the error log of mailman i find:
Jul 10 12:07:37 2010 (5257) command failed: /usr/sbin/postmap /var/lib/mailman/data/virtual-mailman (status: 1, Operation not permitted)
Looks like a permissions problem.
But the rights of virtual-mailman seem ok:
ls -l /var/lib/mailman/data/virtual-mailman -rw-rw---- 1 www-data list 1,6K 2010-07-10 12:07 virtual-mailman
What about the permissions on /var/lib/mailman/data ? Postmap may not be able to write the output file.
Geoff.
Am Sat, 10 Jul 2010 14:23:59 +0300 (IDT) schriebst du:
What about the permissions on /var/lib/mailman/data ? Postmap may not be able to write the output file.
That's it. I put 777 on data and virtual-mailman* and now i can create a list. Thank you for this hint and your patience!
But i still have problems:
When i create a mailinglist on example2.org "test" and if i mail to this list, every member should get this mail. But without any error in the logs, this mail just gets swallowed by postfix:
This is what i read in mail.log of postfix:
Jul 10 14:20:07 example postfix/local[7899]: 62BFB6D0EC00A: to=<mailman@lists.example.org>, relay=local, delay=0.14, delays=0.01/0.01/0/0.13, dsn=2.0.0, status=sent (delivered to command: /var/lib/mailman/mail/mailman post mailman) Jul 10 14:20:07 example postfix/qmgr[32331]: 62BFB6D0EC00A: removed
Jul 10 14:04:52 example postfix/pipe[3852]: 38D176D0EC008: to=<test@example.org>, orig_to=<test@lists.example2.de>, relay=dovecot, delay=0.02, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service) Jul 10 14:04:52 example postfix/qmgr[32331]: 38D176D0EC008: removed
instead of given to the command it is given to <test@example.org>
What could be wrong here?
franc walter wrote:
When i create a mailinglist on example2.org "test" and if i mail to this list, every member should get this mail. But without any error in the logs, this mail just gets swallowed by postfix:
This is what i read in mail.log of postfix:
Jul 10 14:20:07 example postfix/local[7899]: 62BFB6D0EC00A: to=<mailman@lists.example.org>, relay=local, delay=0.14, delays=0.01/0.01/0/0.13, dsn=2.0.0, status=sent (delivered to command: /var/lib/mailman/mail/mailman post mailman) Jul 10 14:20:07 example postfix/qmgr[32331]: 62BFB6D0EC00A: removed
Note the above says you are delivering directly to a local domain and not via virtual_alias_maps. If this mail doesn't get processed by Mailman, it is because you haven't started the Mailman service (mailmanctl which in turn starts the qrunners)
Jul 10 14:04:52 example postfix/pipe[3852]: 38D176D0EC008: to=<test@example.org>, orig_to=<test@lists.example2.de>, relay=dovecot, delay=0.02, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service) Jul 10 14:04:52 example postfix/qmgr[32331]: 38D176D0EC008: removed
instead of given to the command it is given to <test@example.org>
This mail is originally to test@lists.example2.de and is mapped by virtual_alias_maps to the local address 'test' to which Postfix appends its cannonical hostname. Thus the mail is mapped to test@example.org which is handled by the Dovecot LDA and not by Postfix' local delivery, thus the 'test' alias in data/aliases is not used.
If you want to use the Dovecot LDA in this way, The easiest thing for you to do is to not use Postfix virtual domains at all. Just add your lists.examplen.org domains only to my_destination in main-cf and remove the ,hash:/var/lib/mailman/data/virtual-mailman from virtual_alias_maps. Then you can also remove POSTFIX_STYLE_VIRTUAL_DOMAINS from mm_cfg.py.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Am Sat, 10 Jul 2010 08:09:45 -0700 schriebst du:
Jul 10 14:04:52 example postfix/pipe[3852]: 38D176D0EC008: to=<test@example.org>, orig_to=<test@lists.example2.de>, relay=dovecot, delay=0.02, delays=0.01/0/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service) Jul 10 14:04:52 example postfix/qmgr[32331]: 38D176D0EC008: removed
instead of given to the command it is given to <test@example.org>
This mail is originally to test@lists.example2.de and is mapped by virtual_alias_maps to the local address 'test' to which Postfix appends its cannonical hostname. Thus the mail is mapped to test@example.org which is handled by the Dovecot LDA and not by Postfix' local delivery, thus the 'test' alias in data/aliases is not used.
But why???
I have many email-addresses with somename@exampleN.org and NONE of them is given to somename@example.org!
And i have in data/aliases INDEED an entry:
test: "|/var/lib/mailman/mail/mailman post test"
So why is "test" not given to this command like the other list-email?
franc walter wrote:
Am Sat, 10 Jul 2010 08:09:45 -0700 schriebst du:
This mail is originally to test@lists.example2.de and is mapped by virtual_alias_maps to the local address 'test' to which Postfix appends its cannonical hostname. Thus the mail is mapped to test@example.org which is handled by the Dovecot LDA and not by Postfix' local delivery, thus the 'test' alias in data/aliases is not used.
But why???
Because in your Postfix transport maps you have an entry that says mail to the example.org domain is handled by the Dovecot LDA, and the Dovecot LDA doesn't consult Postfix' alias_maps.
I have many email-addresses with somename@exampleN.org and NONE of them is given to somename@example.org!
Because you don't have any virtual_alias_maps of the form
somename@exampleN.org somename
And i have in data/aliases INDEED an entry:
test: "|/var/lib/mailman/mail/mailman post test"
So why is "test" not given to this command like the other list-email?
Because it is delivered via Dovecot and Dovecot doesn't consult alias_maps.
There are at least three ways to fix this. I already gave you the easiest one at the end of my reply at <http://mail.python.org/pipermail/mailman-users/2010-July/069926.html>
The second way is to stop using the Dovecot LDA, and the third way is to download Mailman/MTA/Postfix.py from <http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/files/head:/Mailman/MTA/> and replace yours with the downloaded one and add
VIRTUAL_MAILMAN_LOCAL_DOMAIN ='some.nondovecot.local.domain'
to mm_cfg.py and run genaliases.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Am Sat, 10 Jul 2010 10:02:00 -0700 schriebst du:
and the third way is to download Mailman/MTA/Postfix.py from <http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/files/head:/Mailman/MTA/> and replace yours with the downloaded one and add
VIRTUAL_MAILMAN_LOCAL_DOMAIN ='some.nondovecot.local.domain'
Ok, i downloaded this Postfix.py and put it to:
/usr/lib/mailman/Mailman/MTA/Postfix.py
i put in my mm_cfg.py:
VIRTUAL_MAILMAN_LOCAL_DOMAIN ='lists.example2.org'
at the end and restarted postfix and mailman.
Now if i send from
friend@outside.org
to:
testlist@lists.example2.org
i get the bounce from Mailer-Daemon:
... The mail system
<testlist@lists.example2.org>: unknown user: "testlist"
I hope you didn't think that i want to have any mail-address in dovecot with testlist@lists.example2.org. I just want to have an distributing tool, a mailinglist.
I feel so terribly silly by posting about 20 times and still beeing so far away from a working mailman.
franc walter wrote:
Am Sat, 10 Jul 2010 10:02:00 -0700 schriebst du:
and the third way is to download Mailman/MTA/Postfix.py from <http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/files/head:/Mailman/MTA/> and replace yours with the downloaded one and add
VIRTUAL_MAILMAN_LOCAL_DOMAIN ='some.nondovecot.local.domain'
Ok, i downloaded this Postfix.py and put it to:
/usr/lib/mailman/Mailman/MTA/Postfix.py
i put in my mm_cfg.py:
VIRTUAL_MAILMAN_LOCAL_DOMAIN ='lists.example2.org'
at the end and restarted postfix and mailman.
And did you run genaliases?
Now if i send from
friend@outside.org
to:
testlist@lists.example2.org
i get the bounce from Mailer-Daemon:
... The mail system
<testlist@lists.example2.org>: unknown user: "testlist"
I hope you didn't think that i want to have any mail-address in dovecot with testlist@lists.example2.org. I just want to have an distributing tool, a mailinglist.
No. You do not want any list addresses and domains in Dovecot.
With the above, all your lists will be mapped to the lists.example2.org domain which must be local.
lists.example2.org needs to be in my_destination in main.cf and not in virtual_alias_domains or in POSTFIX_STYLE_VIRTUAL_DOMAINS. All the other list email domains need to be in both virtual_alias_domains and POSTFIX_STYLE_VIRTUAL_DOMAINS, and data/virtual-mailman needs to be referenced in virtual_alias_maps.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Am Sat, 10 Jul 2010 10:50:59 -0700 schriebst du:
With the above, all your lists will be mapped to the lists.example2.org domain which must be local.
lists.example2.org needs to be in my_destination in main.cf and not in virtual_alias_domains or in POSTFIX_STYLE_VIRTUAL_DOMAINS. All the other list email domains need to be in both virtual_alias_domains and POSTFIX_STYLE_VIRTUAL_DOMAINS, and data/virtual-mailman needs to be referenced in virtual_alias_maps.
???
Which "all the other list email domains" ??? Why to put them to virtual_alias_domains etc. if it is not working?
franc walter wrote:
Am Sat, 10 Jul 2010 10:50:59 -0700 schriebst du:
With the above, all your lists will be mapped to the lists.example2.org domain which must be local.
lists.example2.org needs to be in my_destination in main.cf and not in virtual_alias_domains or in POSTFIX_STYLE_VIRTUAL_DOMAINS. All the other list email domains need to be in both virtual_alias_domains and POSTFIX_STYLE_VIRTUAL_DOMAINS, and data/virtual-mailman needs to be referenced in virtual_alias_maps.
???
Which "all the other list email domains" ??? Why to put them to virtual_alias_domains etc. if it is not working?
virtual_alias_maps mappings map an address like some_address@some.virtual.domain to another address. Your original virtual-mailman mappings were of the form
list-address@virtual.domain list-address
This didn't work for you because Postfix assumes that a bare list-address is in the mydomain domain, but mail to mydomain is being delivered via the Dovecot LDA which doesn't consult alias_maps, so the mail to list-address was not piped to Mailman.
I suggested you could try the Mailman/MTA/Postfix.py from the head of the 2.1 development branch because it can append a domain to the right hand side of the mappings in virtual-mailman. This domain is set in mm_cfg.py as VIRTUAL_MAILMAN_LOCAL_DOMAIN. I probably should have pointed you to the documentation of POSTFIX_STYLE_VIRTUAL_DOMAINS and VIRTUAL_MAILMAN_LOCAL_DOMAIN in the branch as well, but I have attached it here as doc.txt
You chose to set VIRTUAL_MAILMAN_LOCAL_DOMAIN to lists.example2.org. Given that choice, I told you that you had to configure lists.example2.org as local in postfix. The other domains, lists.example1.org, lists.example3.org, lists.example4.org, etc. could still be Postfix virtual domains and virtual-mailman will map, e.g.
list-address@lists.example1.org list-address@lists.example2.org
for local delivery.
I would not have set
VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'lists.example2.org'
I probably would have set
VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'localhost'
and left all your lists.examplen.org domains virtual, but you didn't ask me, You just reported what you'd done and asked me how to fix it so I suggested the first fix that came to my mind.
Here's a simple view of how this works if properly configured.
For a list in a virtual domain in POSTFIX_STYLE_VIRTUAL_DOMAINS, Mailman generates virtual-mailman mappings from list addresses in the virtual domain to local addresses delivered by Postfix' local delivery (not Dovecot). Postfix' local delivery consults alias_maps including Mailman's aliases and these map the local addresses to the appropriate pipe to Mailman.
If this isn't clear to you, perhaps some of the documentation at <http://de.postfix.org/> will help.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sat, 10 Jul 2010 17:09:32 -0700 you wrote:
If this isn't clear to you, perhaps some of the documentation at <http://de.postfix.org/> will help.
So after all i did it like suggested earlier and without any virtual_alias_maps.
I put in main.cf under mydestination all my virtual domains:
mydestination = lists.example2.org, lists.example2.org, lists.example3.org, , ..., lists.examplen.org
and
alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
and this is all. No virtual_alias_maps from mailman and no VIRTUAL_MAILMAN_LOCAL_DOMAIN or POSTFIX_STYLE_VIRTUAL_DOMAINS
Very simple and it is working.
The main reason why i didn't get it in one or two hours (or even in 10 Minutes) is, that i don't know much about Postfix. Now i ordered a Book (in german) to read carefully about this and all this virtual domain stuff.
I am closing this thread for myself now with a big "Thank you" to you both, Mark and Geoff. You were very patiently and helpful many, many times.
Lot of regards,
frank
Am Sat, 10 Jul 2010 08:09:45 -0700 schriebst du:
This mail is originally to test@lists.example2.de and is mapped by virtual_alias_maps to the local address 'test' to which Postfix appends its cannonical hostname. Thus the mail is mapped to test@example.org
So if i use a list called like the email-name of somebody in the example.org domain, this means HE will get the mails for the list??? Very funny.
This is so confusing and there is no light.
Since several days i try to get this to work where i initially thought it is a work of 1 or 2 hours.
Without your help i would have given up much earlier, but it seems that i have to give up anyway... I just don't understand you and you don't understand me.
franc walter wrote:
Am Sat, 10 Jul 2010 08:09:45 -0700 schriebst du:
This mail is originally to test@lists.example2.de and is mapped by virtual_alias_maps to the local address 'test' to which Postfix appends its cannonical hostname. Thus the mail is mapped to test@example.org
So if i use a list called like the email-name of somebody in the example.org domain, this means HE will get the mails for the list??? Very funny.
Yes, there are naming restrictions and in the default configurations, a list may not have the same name as a local user. There are at least two ways to avoid this conflict. One is by using postfix-to-mailman.py and a single, dedicated domain for all list mail.
There are also things that can be done between Mailman and Postfix, but they can be complex depending on your exact requirements.
This is so confusing and there is no light.
Since several days i try to get this to work where i initially thought it is a work of 1 or 2 hours.
Without your help i would have given up much earlier, but it seems that i have to give up anyway... I just don't understand you and you don't understand me.
The simple, straight forward ways to do this have the following restrictions.
If you use postfix-to-mailman.py all lists have a single, dedicated email domain.
If you use Mailman/Postfix integration, you don't need a single domain for list mail, but all list names must still be globally unique and different from the name of any local user.
There are ways around these restrictions, but they are more complicated, and in order to discuss them, I'd need to know what the requirements are.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
franc walter
-
Geoff Shang
-
Mark Sapiro