====== Configure Postfix Mail Relay ====== It is assumed that following has been configured: * You have a primary mail Server. [[http://dokuwiki.orionmail.org/raspberrypi_email_server|Click here]] to configure a Mail Server * You have a Postfix mail relay Server. [[http://dokuwiki.orionmail.org/postfix_relay_server|Click here]] to configure a Postfix mail relay ===== Relay Server Tasks ===== First install the following: apt-get install libsasl2-modules apt-get install sasl2-bin Create a file /etc/postfix/sasl/smtpd.conf: pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: plain login Add an user to sasldb2 saslpasswd2 -c -u domain user sasldblistusers2 Postfix needs /etc/sasldb2 in his chroot environment. One solution is to change init script to copy sasldb2 at startup. In /usr/lib/postfix/configure-instance.sh, add etc/sasldb2 in the variable FILES : FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \ etc/host.conf etc/nsswitch.conf etc/nss_mdns.config etc/sasldb2" Edit Postfix configuration: Type the following at the terminal: postconf -e 'smtpd_sasl_local_domain = $myhostname' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' Restart (reloading is not enough) postfix: service postfix restart systemctl daemon-reload ==== Main.cf modifications ==== Edit /etc/postfix/main.cf Ensure that **mynetworks** includes the Primary mail Server's IP address: such as **82.68.17.190/32** mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, localhost, 82.68.17.190/32, 185.195.232.168/32, 185.195.232.148/32 Also check: **mydestination** should include the domain that this relay Server will be servicing. Such as: **flakie.org** etc mydestination = $myhostname, flakie.org, localhost, localhost.localdomain, localhost **smtpd_recipient_restrictions** should be added or set as below: smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination **relay_domains** should be added as below: relay_domains = $mydestination Save /etc/postfix/main.cf ==== Master.cf Modifications ==== Edit /etc/postfix/master.cf Ensure the line: **"50070 inet n - y - - smtpd"**is added. It allows smtpd traffic on port 50070. This will be the communication between the primary email Server and the relay Server. # # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master" or # on-line: http://www.postfix.org/master.5.html). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100) # ========================================================================== 50070 inet n - y - - smtpd Add the following underneath the line above: submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING Add the following underneath the line above: smtps inet n - y - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING Save /etc/postfix/master.cf ===== Primary Mail Server Tasks ===== ==== Main.cf modifications ==== Edit /etc/postfix/main.cf Ensure the following is added underneath **mydestination. **This is the IP of the relay Server and the port expressed in the master.cf file. relayhost = 212.71.234.106:50070 Add the following at the bottom of the file: # outbound relay configurations smtpd_sasl_auth_enable = yes smtpd_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtpd_sasl_security_options = noanonymous smtpd_tls_security_level = may header_size_limit = 4096000 Save /etc/postfix/main.cf ==== Other Modifications ==== Create the following file: /etc/postfix/sasl_passwd Enter the following to the top line of the file: [212.71.234.106]:50070 root:compu1er The above is the IP of the relay Server along with the port. Additionally add the username and password as created in the 3rd of the relay tasks Save the file. Finally type the following command: postmap /etc/postfix/sasl_passwd The above creates a database-like file so postfix can read it