Mettre en place un relais SMTP pour Plesk
Pour limiter le blacklistage de nos serveurs mutualisé chez Proxgroup nous avons mis en place un cluster de serveur d’envoi afin de repartir l’envoi, et de pouvoir isoler un serveur en cas de blacklist en le mettant en maintenance.
Pour ce faire, nous avons quelques prérequis :
- Plesk
- Installation de Qmail a la place de Postfix
- Création du fichier smtproutes sur Plesk
- HAProxy
- Installation d’HAProxy pour le load balancing des requêtes
- Installation dun HAProxy de backup en cas de panne du premier
- Postfix
- Installation des serveurs postfix
Sur Plesk, allez dans » Outils & Paramètres « , puis » Paramètres du serveur de messagerie « .
Cliquez ensuite sur » utiliser un autre serveur de messagerie « . Vous allez êtres redirigé vers la page d’installation de Plesk, descendez dans Mails Hosting -> SMTP Servers -> Qmail. Validez.
Cela aura pour effet de remplacer Postfix par Qmail.
Installation d’HA Proxy
Je vous renvoi sur ces deux tutos, qui sont parfaitement adapté : http://denisrosenkranz.com/tutoha-introduction-a-haproxy-sous-debian-7/ & http://denisrosenkranz.com/tutoha-introduction-a-haproxy-sous-debian-7/
Installation de Postfix
Pour l’installation de Postfix, on va l’installer en tapant :
apt install postfix
Puis editez :
nano /etc/postfix/main.cf
Vous allez vous retrouver avec ce fichier :
# See /usr/share/postfix/main.cf.dist 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_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. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = postfix2.proxgroup.fr alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = postfix2, localhost.localdomain, , 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
La ligne que nous devons modifier est :
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Il faut rajouter son IP depuis laquelle viennent les mails ( Donc l’IP virtuelle du HA Proxy ) :
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.50.10.0/24
Pour ensuite dire a Plesk d’envoyer vos mails vers un serveur spécifique, vous avez deux solutions.
Soit vous dites à votre serveur d’envoyer tout les mails au relais, soit seulement certains sites.
Toutes les informations sur la configuration du smtproutes pour plesk sont ici : https://support.plesk.com/hc/en-us/articles/213927985–HOWTO-Configure-SMTP-routes-in-Qmail-server
Si vous mettez ce système en place, pensez à mettre à jour vos enregistrements SPF 😉