Afficher/cacher Sommaire
Postfix est un agent de transfert de courrier (MTA), une application utilisée pour envoyer et recevoir des e-mails. On va configurer Postfix afin qu’il puisse être utilisé pour envoyer des notifications par e-mail uniquement par les applications locales installées sur le même serveur que Postfix.( Article de référence :How To Install and Configure Postfix as a Send-Only SMTP Server on Debian 10)
Conditions préalables
- Un serveur Debian fonctionnel avec un utilisateur non root avec les privilèges sudo.
- Un nom de domaine valide qui pointe vers le serveur.
Le nom d’hôte de votre serveur doit correspondre à votre domaine ou sous-domaine. Vous pouvez vérifier le nom d’hôte du serveur en tapant hostname
à l’invite de commande. La sortie doit correspondre au nom que vous avez donné au serveur lors de sa création.
Installation de Postfix
Deux packages : mailutils, qui inclut les programmes nécessaires au fonctionnement de Postfix, et postfix lui-même.
Mise à jour la base de données des packages
sudo apt update
Ensuite, installer mailtuils
sudo apt install mailutils
Enfin, installer postfix
sudo apt install postfix
Suivre la procédure
fenêtre pour définir le nom de messagerie système
Le nom de messagerie système doit être le même que le nom que vous avez attribué au serveur lors de sa création.
Configuration de Postfix
Dans cette étape, vous allez configurer Postfix pour qu’il traite les demandes d’envoi d’e-mails uniquement à partir du serveur sur lequel il s’exécute, c’est-à-dire à partir de localhost.
Pour cela, Postfix doit être configuré pour n’écouter que sur l’ interface loopback , l’interface réseau virtuelle que le serveur utilise pour communiquer en interne. Pour effectuer le changement, ouvrez le fichier de configuration principal de Postfix à l’aide de nano
sudo nano /etc/postfix/main.cf
Avec le fichier ouvert, faites défiler jusqu’à ce que vous voyiez la section suivante :
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .
Changez la ligne qui se lit inet_interfaces = all
avec inet_interfaces = loopback-only
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .
Une autre directive que vous devrez modifier est mydestination
, qui est utilisée pour spécifier la liste des domaines qui sont livrés via le local_transporttransport de distribution de courrier. Par défaut, les valeurs ressemblent à celles-ci :
. . .
mydestination = $myhostname, ouestline.xyz, xyz.xyz, localhost.xyz, localhost
. . .
Les valeurs par défaut recommandées pour cette directive sont données dans le bloc de code ci-dessous, alors modifiez les vôtres pour qu’elles correspondent :
. . .
mydestination = $myhostname, localhost.$mydomain, $mydomain
. . .
Enregistrez et fermez le fichier.
Remarque : Si vous hébergez plusieurs domaines sur un même serveur, les autres domaines peuvent également être passés à Postfix à l’aide de la mydestinationdirective. Cependant, configurer Postfix d’une manière qui évolue et qui ne présente pas de problèmes pour une telle configuration implique des configurations supplémentaires qui sortent du cadre de cet article.
redémarrez Postfix.
sudo systemctl restart postfix
Test du serveur SMTP
Tester si Postfix peut envoyer des e-mails à un compte de messagerie externe à l’aide de la commande mail
, qui fait partie du package mailutils
Pour envoyer un e-mail de test, saisissez :
echo "Test envoi via postfix smtp" | mail -s "serveur debian" votre_adresse_mail
Lorsque vous effectuez vos propres tests, vous pouvez utiliser le corps et le texte de la ligne d’objet tels quels ou les modifier à votre guise. Cependant, à la place de votre_adresse_mail, utilisez une adresse e-mail valide. Le domaine peut être gmail.com, fastmail.com, yahoo.comou tout autre fournisseur de services de messagerie que vous utilisez.
Vérifiez maintenant l’adresse e-mail à laquelle vous avez envoyé le message de test. Vous devriez voir le message dans votre boîte de réception. Si ce n’est pas le cas, vérifiez votre dossier Spam.
Notez qu’avec cette configuration, l’adresse dans le champ De pour les e-mails de test que vous envoyez sera , où sammy est votre nom d’utilisateur Linux non root et le domaine est le nom d’hôte du serveur. Si vous modifiez votre nom d’utilisateur, l’ adresse De changera également.sammy@example.com
Transfert du courrier système
La dernière chose que nous voulons configurer est le transfert, vous recevrez donc des e-mails envoyés à root sur le système à votre adresse e-mail externe personnelle.
Pour configurer Postfix afin que les e-mails générés par le système soient envoyés à votre adresse e-mail, vous devez modifier le /etc/aliasesfichier. Ouvrez ce fichier maintenant :
sudo nano /etc/aliases
Le contenu complet du fichier sur une installation par défaut de Debian 11 est le suivant :
# See man 5 aliases for format
postmaster: root
Le paramètre postmaster: root
garantit que les e-mails générés par le système sont envoyés à l’ utilisateur racine . Vous souhaitez modifier ces paramètres afin que ces e-mails soient redirigés vers votre adresse e-mail. Pour ce faire, ajoutez la ligne suivante sous le paramètre postmaster: root
mailer-daemon: postmaster
postmaster: root
root: votre_adresse_mail
. . .
Remplacez votre_adresse_mail par l’adresse e-mail souhaitée . Lorsque vous avez terminé, enregistrez et fermez le fichier.
Pour que la modification prenne effet, exécutez la commande suivante
sudo newaliases
Vous pouvez tester que cela fonctionne en envoyant un e-mail au compte root en utilisant :
echo "Voici le corps de l'email" | mail -s "Voici l'objet du message" root
Vous devriez recevoir l’e-mail sur votre adresse e-mail. Si ce n’est pas le cas, vérifiez votre dossier Spam.