Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I've just configured postfix using virtual domains (using dovecote) and therefore needed to alter the mailman-configuration. I decided to use lists.* to allow postfix to distiguish between mails that need to go to dovecote and others that are handled by mailman. Therefore I created a transport_map (lists.(domainname) mailman:) and registered mailman in using this configuration:

mailman unix - n n - - pipe flags=FR user=mailman:mailman argv=/var/mailman/ ${nexthop} ${user}

Also I added lists.(domainname) to the relay domains. According to the information given in (section INSTALLATION) I now do not need to configure any aliases at all. But without adding the output from genaliases to /etc/aliases and afterwards running the newaliases command the mails are rejected (user not found in local alias map). Does anyone know why that happens?

My looks like that:

# See /usr/share/postfix/ for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin =
mydestination =,,, localhost
relayhost = 
mynetworks = [::ffff:]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1

# a bit more spam protection
disable_vrfy_command = yes

# Authentification
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps

smtpd_sender_login_maps = proxy:mysql:/etc/postfix/

smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch

smtpd_recipient_restrictions = permit_sasl_authenticated

# Virtual mailboxes
virtual_alias_maps = proxy:mysql:/etc/postfix/
virtual_mailbox_base = /var/vmail/
virtual_mailbox_domains = proxy:mysql:/etc/postfix/
virtual_mailbox_limit = 112400000
virtual_mailbox_maps = proxy:mysql:/etc/postfix/
virtual_minimum_uid = 104
virtual_transport = virtual
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
disable_vrfy_command = yes
share|improve this question
Where is 'relay_domains' defined? I see that you say you added the domain, but I see nowhere in the defining what relay_domains is. –  yoonix Aug 28 '13 at 23:29

1 Answer 1

First of all, do NOT list in mydestination - it belongs in relay_domains only (see the ADDRESS_CLASSES readme). Oh, and like yoonix said, I don't see you defining any relay_domains at all.

Furthermore, you need to tell Postfix about valid recipients, with something like relay_recipient_maps = hash:/var/lib/mailman/data/virtual-mailman.

And finally, tell mailman that it can skip alias generation (MTA = None) and that is indeed it's primary domain (POSTFIX_STYLE_VIRTUAL_DOMAINS = ['']).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.