[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