Postfix configuration

This page mentions all Postfix configuration parameters, which have to be modified and/or added in/to the Postfix main.cf.

main.cf

Add or replace the following configuration parameters in the global Postfix configuration file. The Postfix PostgreSQL client configuration files (pgsql-*.cf) mentioned below will be created when vmm will be installed.

sql      = pgsql:${config_directory}/
proxysql = proxy:${sql}

# relocated users from the database
#relocated_maps = ${proxysql}pgsql-relocated_maps.cf

# transport settings from our database
transport_maps = ${proxysql}pgsql-transport_maps.cf

# virtual domains, mailboxes and aliases
virtual_mailbox_domains = ${proxysql}pgsql-virtual_mailbox_domains.cf
virtual_alias_maps = ${proxysql}pgsql-virtual_alias_maps.cf
virtual_minimum_uid = 70000
virtual_uid_maps = ${sql}pgsql-virtual_uid_maps.cf
virtual_gid_maps = ${sql}pgsql-virtual_gid_maps.cf
virtual_mailbox_base = /
virtual_mailbox_maps = ${proxysql}pgsql-virtual_mailbox_maps.cf

# dovecot LDA (only recommended with Dovecot v1.x)
#dovecot_destination_recipient_limit = 1
#virtual_transport = dovecot:

# dovecot lmtp (requires Dovecot ≧ v2.0.0)
virtual_transport = lmtp:unix:private/dovecot-lmtp

# dovecot SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_auth_enable = yes
# Keep smtpd_sasl_local_domain identical to Dovecot's auth_default_realm:
# empty. Both are empty by default. Let it commented out.
# Read more at: http://wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5
#smtpd_sasl_local_domain =
smtpd_sasl_security_options = noplaintext, noanonymous
#broken_sasl_auth_clients = yes

smtpd_recipient_restrictions =
 permit_mynetworks
 permit_sasl_authenticated
 reject_unauth_destination

master.cf

Note

This step is only necessary if you are still using Dovecot v1.x

Add the service dovecot to Postfix’s master process configuration file. Append this lines:

dovecot   unix  -       n       n       -       -       pipe
 flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver -f ${sender}
 -d ${user}@${nexthop} -n -m ${extension}

The command of the argv attribute points to the root SETUID copy of deliver. For more details about the flags used above see: pipe(8). All other arguments are explained in the Dovecot LDA documentation.

Using Dovecot’s LMTP

In order to use Dovecot’s LMTP as virtual_transport with Postfix make sure you have have:

  • lmtp in your protocols setting (dovecot.conf)
  • configured a lmtp listener: service lmtp {} (conf.d/10-master.conf)
  • set lmtp:unix:private/dovecot-lmtp as the domain.transport in your vmm.cfg.

If you want to switch the transport of existing domains and/or accounts, you can use the subcommands domaintransport and usertransport.

Table Of Contents

Previous topic

Dovecot configuration

Next topic

Installing vmm