Configure postfix

  • Three files to edit/create in /etc/postfix - master.cf, main.cf, transport
  • Also check/modify /etc/mailname file
  • The examples below are using nixgate for a machine name & webman as a user name.
    • Change your machine & user names appropriate to your system.

After editing files

  • as root convert the transport text file to a database file format.
postmap /etc/postfix/transport
  • After editing master.cf or main.cf should restart postfix as root
# systemd way
systemctl restart postfix
# System V init way
/etc/init.d/postfix restart

Example master.cf

  • Add these 2 lines before maildrop entry
  • Note the 2 spaces at the beginning of the second line are significant.
wl2k      unix  -       n       n       -       1      pipe
  flags=XFRhu user=webman argv=/usr/local/libexec/mail.wl2k -m

Example main.cf

  • Check that file /etc/mailname exists
#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_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
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 = nixgate
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = nixgate, nixgate.localnet, localhost.localnet, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#home_mailbox = Mail/

# Added for paclink-unix config
transport_maps = hash:/etc/postfix/transport
  • When starting postfix if it complains about IPV6 then do the following:
    • Add this line to main.cf
inet_protocols = ipv4
  • Change the mynetworks line in main.cf to:
mynetworks = 127.0.0.0/8 

Example transport file

  • This is a very simple example that assumes that the machine that postfix is installed on is only concerned with winlink mail.
  • In the example below nixgate is a host machine name.
#
localhost :
nixgate             local:
nixgate.localnet    local:
nixgate.localhost   local:
*         wl2k:localhost
  • whenever you edit the transport table as root execute the command:
   postmap /etc/postfix/transport

Example /etc/mailname file

nixgate.localnet

Config aliases file to receive mail addressed to root

  • edit /etc/aliases to get all mail the system will send to root & postmaster
    • After editing run this as root:
newaliases
  • Verify by checking for the creation of the /etc/aliases.db file
ls -salt /etc/aliases*

Example /etc/aliases file

# /etc/aliases
root: webman
mailer-daemon: postmaster
postmaster: webman
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
plu/install_postfix.txt · Last modified: 2018/10/16 14:02 by gunn
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0