Mettre en place un relais SMTP pour Plesk

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 😉