Il arrive régulièrement que nous ayons besoin d'envoyer des mails depuis un serveur Linux. Par exemple pour envoyer des notifications à l'administrateur.
Dans ce tuto nous allons installer postfix afin d'envoyer des mails depuis notre serveur DEBIAN 10.
Nous allons utiliser le service GMAIL pour relayer nos mails.
Installation de Postfix
On commence par mettre à jour le système et installer Postfix
~# apt-get update && apt-get upgrade
~# apt-get install libsasl2-modules postfix
Postfix va lancer l'assistant d'installation:
Ensuite postfix va vous demander de choisir un type d'installation. Vous allez choisir site internet
Entrez ensuite votre nom de domaine:
Création d'un mot de passe application pour GMAIL
Si vous avez activé l'authentification à deux facteurs (2FA), vous devez créer un mot de passe Application. Vous pouvez consulter la documentation google à cette adresse
Paramétrage de postfix
il faut ensuite modifier le fichier /etc/postfix/main.cf
afin de modifier la valeur myhostname
avec notre nom d'hôte pleinement qualifié (fqdn)
myhostname = mail.exemple.fr
Nous allons maintenant ajouter le mot de passe du compte gmail (Attention, si vous avez activé l'authentification à deux facteurs de bien utilisé le mot de passe généré plus haut...). Nous allons pour cela modifier le fichier /etc/postfix/sasl/sasl_passwd
~# vi /etc/postfix/sasl/sasl_passwd
insérez ici l'authentification de cette manière (vous pouvez faire un copier-coller et remplacer le login/mdp avec les bonnes valeurs):
[smtp.gmail.com]:587 username@gmail.com:password
On peut maintenant utiliser la commande postmap
pour générer un fichier de bdd de hash:
~# postmap /etc/postfix/sasl/sasl_passwd
Nous allons sécuriser un peu l'accès aux fichiers:
~# chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
~# chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
Configurer le relay postfix
Nous allons modifier le fichier main.cf
afin de relayer le courrier vers le smtp de gmail:
~# vi /etc/postfix/main.cf
On modifie la valeur relayhost
:
relayhost = [smtp.gmail.com]:587
Ensuite on ajoute ces lignes pour activer l'authentification:
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Configurer l'adresse mail de root
on edite le fichier /etc/aliases
vi /etc/aliases
le fichier doit ressembler à
# See man 5 aliases for format
postmaster: root
root: username@domaine.com # On ajoute cette ligne avec l'adresse mail de l'admin du serveur
On compile les alias:
newaliases
on redémarre ensuite postfix
service postfix restart
Test d'envoi de mail
On peut utiliser sendmail pour tester l'envoi d'un mail (attention le point . à la fin est important):
# sendmail root
From: monserveur
Subject: Mail test
Ceci est un test
.
Vous pouvez vérifier que tout s'est bien passé en consultant les logs:
tail -f /var/log/mail.log