Postif est l’un des MTA (Mail Transfer Agent) les plus populaires, il permet de router et envoyer des mails. Nous allons voir dans cet article comment l’installer sur un serveur Debian et ensuite l’utiliser pour envoyer des mails avec WordPress.
Pré-requis
Si SendMail est installé sur votre serveur, il est conseillé de le désinstaller afin d’éviter les conflits :sudo apt-get remove sendmail
Installation de Postfix
Exécutez la commande suivante :sudo apt install postfix
Après la récupération du paquet, la fenêtre de configuration suivante s’affichera.
Sélectionnez Site Internet.
Le nom de courrier correspond à votre nom de domaine (ex: monSiteInternet.com). Il permet au système de construire une adresse email valide quand seul un nom d’utilisateur est utilisé pour l’envoi de mail. Exemple : pour « utilisateur1 », Postfix utilisera l’adresse « utilisateur1@monSiteInternet.com ».
L’installation se termine.
Configurer Postfix pour l’envoi de mail uniquement
Nous allons maintenant voir comment configurer Postfix pour l’envoi de mail uniquement, notre serveur n’étant pas destiné à en recevoir.
Ouvrez le fichier de configuration Postfix :sudo vi /etc/postfix/main.cf
Recherchez les lignes suivantes :
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
Nous allons configurer Postfix afin qu’il n’écoute que sur loopback interface, c’est-à-dire l’interface du réseau virtuel que le serveur utilise pour la
. Pour ce faire, changez la ligne inet_interfaces afin d’obtenir le résultat suivant :mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
Jetons également un oeil à la ligne « mydestination », qui par défaut ressemble à ceci :
mydestination = $myhostname, monSite.com, localhost.com, , localhost
Si vous souhaitez recevoir les mails sur une adresse correspondant à votre nom de domaine (ex : monSite.com ci-dessus), supprimez votre nom de domaine de la liste :
mydestination = $myhostname, localhost.com, , localhost
Il faut ensuite redémarrer le service afin de prendre en compte les modifications :sudo service postfix restart
Configurer l’envoi de mail PHP
Si vous souhaitez envoyer des mails à partir d’un site web en php, comme WordPress, il faut modifier le fichier de configuration suivant : /etc/php/7.3/apache2/php.ini
Décommentez la ligne sendmail_path et paramétrez l’envoi de mail. Attention, l’adresse mail d’envoi doit correspondre à un domaine valide. Pour vérifier l’emplacement de votre commande sendmail : which sendmail
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i -f noreply@monNomDeDomaine.com
Redémarrez ensuite le serveur Apache pour prendre en compte les modifications :sudo systemctl restart apache2
Tester l’envoi de mail
Exécutez la commande suivante pour vous envoyer un mail de test (en remplaçant l’adresse de destination par votre adresse) :echo 'Ceci est un message de test' | mail -s test_header_email monMail@monMail.com
Le mail devrait parvenir dans votre boîte mail (vérifiez les spams éventuellement).
Débug
Si besoin, vous pouvez consulter les logs correspondant à l’envoi de mail Postfix :
/var/log/mail.log
/var/log/mail.info