Le blog-notes de Mickaël

/var/log/mickaël

Configurer Postfix pour le smtp free

Rédigé par Mickaël Aucun commentaire
Classé dans : Messagerie Mots clés : postfix, smtp, free, smarthost

Suite à mon récent déménagement, j'en ai profité pour changer de FAI .

J'ai donc modifié mon ancienne configuration de postfix pour envoyer des mails en les relayant vers le SMTP de celui-ci.

Voici ma nouvelle configuration :

# Nom de la machine.
myhostname = srvdebian.tux.lan

# Domaine.
mydomain = tux.lan

# Postfix ne doit router que le courrier de sa machine et ne pas relayer les courriers des autres machines.
mynetworks_style = host
relay_domains =

# Ne pas accepter de courrier en dehors de la boucle locale.
inet_interfaces = 127.0.0.1

# Désactiver la livraison locale du courrier.
# Tous les courriers sont routés vers le smtp.free.fr.
#local_transport = error:local delivery is disabled

# Domaine qui apparaît dans le courrier envoyé à partir de cette machine.
myorigin = $mydomain

# Définition du mode de transport pour le courrier sortant.
default_transport = smtp

# On utilise le SMTP de free comme passerelle pour relayer les mails.
relayhost = [smtp.free.fr]:587

# Le domaine tux.lan est un domaine local, et le SMTP de free a besoin d'un nom de domaine valide.
# Nous allons utiliser ce fichier pour la réécriture d'adresses 'from ***@tux.lan' en 'from ***@free.fr'.
sender_canonical_maps = hash:/etc/postfix/sender_canonical

# Traitement des entêtes de mail.
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks

# Par défaut, postfix fonctionne avec des paramètres par défaut compatibles avec les versions antérieures.
# Nous avons par conséquent ce Warning : Postfix is running with backwards-compatible default settings
# Nous allons désactiver la compatibilité avec les versions antérieures.
compatibility_level = 2

# On active le support TLS.
smtp_use_tls = yes

# On désactive la prise en charge SMTPUTF8.
smtputf8_enable = no

Ensuite nous allons éditer le fichier sender_canonical qui va permettre d'effectuer une réécriture de l'adresse d’expéditeur.

PS : Lors d'envoi de mails avec root nous avons l'erreur suivante :

host smtp.free.fr[212.27.48.4] said: 550 5.7.1 <root@free.fr>: Sender address rejected: you are not root@free.fr

Nous allons contourner cette erreur en rajoutant en remplaçant root par admin dans notre fichier.

On va attribuer les droits 600 pour que root puisse être le seul à écrire et lire dans le fichier.

A partir du fichier crée précédemment, on crée le fichier de base de données de hachage correspondant avec postmap et on supprime la version en clair.

root@srvdebian:~# echo "@tux.lan @free.fr" > /etc/postfix/sender_canonical
root@srvdebian:~# echo "root admin" >> /etc/postfix/sender_canonical
root@srvdebian:~# chmod 600 /etc/postfix/sender_canonical
root@srvdebian:~# postmap hash:/etc/postfix/sender_canonical
root@srvdebian:~# rm -rf /etc/postfix/sender_canonical
root@srvdebian:~# ls -l /etc/postfix/sender_canonical*
-rw------- 1 root root 12288 nov.  11 22:57 /etc/postfix/sender_canonical.db

Pour terminer nous allons éditer le fichier smtp_header_checks.

Celui-ci va contenir les règles à utiliser sur les en-têtes de mails avant qu'ils ne soient envoyés.

ici, je vais demander la réécriture de l'expéditeur de sorte que celui-ci soit SRVDebian<srvdebian@tux.lan>

/^(F|f)rom:.*/ REPLACE From: SRVDebian<srvdebian@tux.lan>

Une fois enregistré, on va attribuer les droits 600 pour que root puisse être le seul à écrire et lire dans le fichier.

 root@srvdebian:~# chmod 600 /etc/postfix/smtp_header_checks
root@srvdebian:~# ls -l /etc/postfix/smtp_header_checks
-rw------- 1 root root 58 nov.  11 23:12 /etc/postfix/smtp_header_checks

Maintenant que notre configuration est terminée, nous allons recharger la configuration de Postfix.

root@srvdebian:~# postfix reload
postfix/postfix-script: refreshing the Postfix mail system 

Pour finir, je teste l'envoi de mails et je vais vérifier dans mes logs que l'envoi se passe bien.

Vous pouvez voir qu'un message ayant pour identifiant 20191111222226.GA727@srvdebian.tux.lan avec pour expéditeur admin@free.fr à destination d'un seul destinataire ( nrcpt=1 ) a été envoyé à wawasa4822@mailhub24.com via le relais smtp smtp.free.fr

Vous pouvez voir que la réécriture de l'en-tête fonctionne.

root@srvdebian:~# echo "Test envoi mail" | mutt -s "Ceci est un test d'envoi de mail" wawasa4822@mailhub24.com
root@srvdebian:~# tail -f /var/log/mail.log
Nov 11 23:22:26 srvdebian postfix/pickup[695]: 356D8E045C: uid=0 from=<root>
Nov 11 23:22:26 srvdebian postfix/cleanup[720]: 356D8E045C: message-id=<20191111222226.GA727@srvdebian.tux.lan>
Nov 11 23:22:26 srvdebian postfix/qmgr[696]: 356D8E045C: from=<admin@free.fr>, size=455, nrcpt=1 (queue active)
Nov 11 23:22:27 srvdebian postfix/smtp[722]: 356D8E045C: replace: header From: root <admin@free.fr>: From: SRVDebian<srvdebian@tux.lan>
Nov 11 23:22:27 srvdebian postfix/smtp[722]: 356D8E045C: to=<wawasa4822@mailhub24.com>, relay=smtp.free.fr[212.27.48.4]:587, delay=1.2, delays=0/0/0.13/1.1, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 5D2A319F54D)
Nov 11 23:22:27 srvdebian postfix/qmgr[696]: 356D8E045C: removed 

Enfin, je vais sur mon Mail User agent vérifier la bonne réception des mails...

 

Écrire un commentaire

Quelle est la dernière lettre du mot rzqg ?

Fil RSS des commentaires de cet article