[Mailman-Users] User unknown in virtual mailbox table
Mark Sapiro
mark at msapiro.net
Sun Jan 2 21:30:26 CET 2011
Umarzuki Mochlis wrote:
>i set in mm_cfg.py like below
>
>POSTFIX_STYLE_VIRTUAL_DOMAINS = ['mail-server.mydomain.my']
>
>from socket import *
>try:
> fqdn = getfqdn()
>except:
> fqdn = 'mm_cfg_has_unknown_host_domains'
>
>DEFAULT_URL_HOST = "mail-server.mydomain.my"
>DEFAULT_EMAIL_HOST = "mail-server.mydomain.my"
>VIRTUAL_HOSTS.clear()
>add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST, )
>MTA = 'Postfix'
>
>and ran
>
># /usr/lib/mailman/bin/withlist -l -a -r fix_url
># /usr/lib/mailman/bin/genaliases
>
>with the same result as before
This should have ensured that all lists had host_name
"mail-server.mydomain.my" and since this name is in
POSTFIX_STYLE_VIRTUAL_DOMAINS, genaliases should have created aliases
and virtual-mailman for all lists.
>postconf -n output:
>
>alias_database = hash:/etc/postfix/aliases
>alias_maps = hash:/etc/postfix/aliases, hash:/etc/mailman/aliases
Good.
[...]
You probably should have
recipient_delimiter = +
for Mailman's VERP like senders.
[...]
>virtual_alias_maps = proxy:ldap:/etc/postfix/ldap_virtual_alias_maps.cf,
>proxy:ldap:/etc/postfix/ldap_virtual_group_maps.cf, proxy:ldap:/etc/postfix/
>ldap_sender_login_maps.cf, proxy:ldap:/etc/postfix/ldap_catch_all_maps.cf
If you are using virtual-mailman, you want to add
"hash:/etc/mailman/virtual-mailman" to virtual_alias_maps. However,
because of your dovecot LDA, you may need to do the transport_maps
thing instead. See below.
[...]
>after i read
>http://wiki.list.org/display/DOC/Mailman+-+Postfix+integration+with+Mailman+generated+transport+or+other+maps
>
><http://wiki.list.org/display/DOC/Mailman+-+Postfix+integration+with+Mailman+generated+transport+or+other+maps>i
>changed & added a few options in mm_cfg.py
>
>POSTFIX_STYLE_VIRTUAL_DOMAINS = ['mydomain.my']
Why did you change this? You must have your list's email domain in
POSTFIX_STYLE_VIRTUAL_DOMAINS. According to what you did above, your
list's email domain is 'mail-server.mydomain.my', not 'mydomain.my'.
>POSTFIX_MAP_CMD = '/etc/mailman/virtual_to_transport'
>
>in /etc/mailman
>
># ls -l /etc/mailman/
>total 140
>-rw-r----- 1 root mailman 41 Dec 8 18:25 adm.pw
>-rw-rw---- 1 mailman mailman 33942 Jan 3 04:37 aliases
>-rw-rw---- 1 mailman mailman 77824 Jan 3 04:37 aliases.db
>-rw-r----- 1 root mailman 41 Dec 8 18:26 creator.pw
>lrwxrwxrwx 1 root mailman 34 Dec 8 18:12 mm_cfg.py ->
>/usr/lib/mailman/Mailman/mm_cfg.py
>-rw-r--r-- 1 root mailman 14114 Jan 23 2008 sitelist.cfg
>-rw-rw---- 1 mailman mailman 0 Jan 3 04:37 transport-mailman
>-rw-rw---- 1 mailman mailman 12288 Jan 3 04:37 transport-mailman.db
>-rw-rw---- 1 root mailman 0 Jan 3 04:37 virtual-mailman
>-rw-r----- 1 root mailman 12288 Jan 3 04:32 virtual-mailman.db
>-rwxr-x--- 1 root mailman 141 Jan 3 04:26 virtual_to_transport
This all looks correct.
>in /etc/mailman/virtual_to_transport
>#!/bin/sh
>sed -r -e 's/(^[^#][^ ]+[ ]+).+$/\1local/' $1 \
> > /etc/mailman/transport-mailman
>/usr/sbin/postmap /etc/mailman/transport-mailman
>
># postconf transport_maps
>transport_maps = proxy:ldap:/etc/postfix/ldap_transport_maps_user.cf,
>proxy:ldap:/etc/postfix/ldap_transport_maps_domain.cf,
>hash:/etc/mailman/transport-mailman
>
>did i missed anything?
The above seems correct for the transport_maps method, but you
shouldn't have changed POSTFIX_STYLE_VIRTUAL_DOMAINS.
And Umarzuki Mochlis added in a follow-up:
>after a check on /usr/lib/mailman/Mailman/Defaults.py
>
>VAR_PREFIX = '/var/lib/mailman'
>DATA_DIR = os.path.join(VAR_PREFIX, 'data')
>
>so the /path/to/data must be /var/lib/mailman/data which led me to
Except it clearly isn't because your "ls -l /etc/mailman/" above
clearly shows all the files in that directory. Perhaps there is
something in mm_cfg.py that overrides VAR_PREFIX and DATA_DIR.
You might find the FAQ at <http://wiki.list.org/x/KYCB> of interest.
>1. change main.cf
>-----------
>alias_maps = hash:/etc/postfix/aliases, hash:/var/lib/mailman/data/aliases
>transport_maps = proxy:ldap:/etc/postfix/ldap_transport_maps_user.cf,
>proxy:ldap:/etc/postfix/ldap_transport_maps_domain.cf,
>hash:/var/lib//mailman/data/transport-mailman
>
>2. move virtual_to_transport to /var/lib/mailman/data
>
>3. virtual_to_transport
>#!/bin/sh
>sed -r -e 's/(^[^#][^ ]+[ ]+).+$/\1local/' $1 \
> > /var/lib/mailman/data/transport-mailman
>/usr/sbin/postmap /var/lib/mailman/data/transport-mailman
>
>4. ran
># postalias /var/lib/mailman/data/aliases
># postalias /etc/postfix/aliases
># service postfix reload
># /usr/lib/mailman/bin/genaliases
>
>but virtual-mailman and transport-mailman does not appear in data folder
>
># ls -l /var/lib/mailman/data/
>total 20
>-rw-r--r-- 1 mailman mailman 1503 Dec 17 11:28 aliases
>-rw-r--r-- 1 mailman mailman 12288 Jan 3 08:40 aliases.db
>lrwxrwxrwx 1 root mailman 25 Dec 8 18:12 sitelist.cfg ->
>/etc/mailman/sitelist.cfg
>-rwxr-x--- 1 mailman mailman 159 Jan 3 08:26 virtual_to_transport
>
>
>any hints or advises?
Yes. Undo the 4 steps above. Fix POSTFIX_STYLE_VIRTUAL_DOMAINS in
mm_cfg.py and run /usr/lib/mailman/bin/genaliases again.
--
Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
More information about the Mailman-Users
mailing list