• Configuration simple d'un MTA avec Postfix

    Lorsque l'on a un serveur avec différents outils de configurés ( supervision, journalisation...), il est important de recevoir les alertes / notifications générés par ces outils par e-mail.

    Une des solutions serait d'installer un serveur de mails complet, mais si vous n'avez pas envie de vous lancer dans cette tâche complexe, vous pourrez opter de passer par un relais SMTP ( orange, sfr, free...) pour l'envoi des mails.

    Tutoriel réalisé sur Debian 7 Wheezy.

    Le courrier électronique repose sur 4 principes :

    - Le Mail User Agent ( MUA ) qui est le logiciel chargé d'envoyer et recevoir du courrier ( Thunderbird, Outlook...).

    - Le Mail Transfert Agent ( MTA )  qui est l'agent chargé d'assurer le transfert du message à travers le réseau ( Postfix, Exim...).

    - Le Mail Delivery Agent ( MDA ) qui est chargé de la remise du courrier dans la boite aux lettres du destinataire ( Procmail, Dovecot...).

     

    Configuration simple d'un MTA avec Postfix

    (cliquer sur l'image pour l'agrandir)

     

    - Les 3 protocoles :

    Simple Mail Transfer Protocol ( SMTP ) qui est chargé du transfert du courrier.

    Post Office Protocol version 3 (POP3 qui est chargé de relever le courrier depuis le serveur vers votre MUA.

    Internet Message Access Protocol (IMAP) qui va également être chargé de relever le courrier en apportant des fonctionnalités supplémentaires par rapport au POP3 ( les mails restent sur le serveur et le contenu de votre boite aux lettres reste le même quelque soit l'endroit de consultation des mails).

    Pour mieux comprendre le fonctionnement de la messagerie électronique je vous conseille cet article :

    Mise en place d'un système de messagerie électronique sous Linux

    Il existe plusieurs MTA sous Linux ( Postfix, Sendmail, Exim, sSMTP...).

    Pour ma part, j'utilise Postfix et bsd-mallx pour tester l'envoi de mails en ligne de commandes.

    Nous allons d'abord commencer par installer Postfix et bsd-mailx à l'aide de la commande :

    sudo apt-get install postfix bsd-mailx

     

    Configuration simple d'un MTA avec Postfix

    (cliquer sur l'image pour l'agrandir)

     

    Lors de l'installation, il vous sera demandé quel type de configuration vous souhaitez mettre en place. 

    - Site Internet pour que postfix soit un serveur de mail.

    Internet avec un « smarthost » pour un serveur de mail qui utilisera un relais SMTP pour envoyer des courriels à l’extérieur.

    Système satellite afin que postfix soit un relayhost qui enverra le courrier à une autre machine.

    - Local uniquement pour un serveur de mail fonctionnant uniquement dans votre réseau local.

    Ici, je choisis Internet avec un « smarthost ».

     

    Configuration simple d'un MTA avec Postfix

     (cliquer sur l'image pour l'agrandir)

     

    Entrer ensuite le nom de courrier qui est le nom inscrit dans /etc/hosts ou /etc/hostname.

     

    Configuration simple d'un MTA avec Postfix

      (cliquer sur l'image pour l'agrandir)

     

    Entrer ensuite le nom du relais smtp par lequel les mails seront envoyés.

    Certains FAI ayant bridé le port SMTP 25 ( port sans authentification ), je configure donc avec le port SMTP 587 (port avec authentification).

     

    Configuration simple d'un MTA avec Postfix

      (cliquer sur l'image pour l'agrandir)

     

    Nous allons maintenant étudier le fichier de configuration de postfix ( main.cf ) qui est situé dans /etc/postfix.

    sudo nano /etc/postfix/main.cf

    Voici comment j'ai configuré mon fichier, libre à vous de l'adapter par la suite.

    Configuration de Postfix

     

    Configuration simple d'un MTA avec Postfix

     (cliquer sur l'image pour l'agrandir)

     

    - myhostname : Postfix a besoin d'un nom de domaine complet ou FQDN. Un nom de domaine complet comprend le nom d'hôte du serveur ainsi que le nom de domaine.

    - mydomain : domaine auquel est rattaché le serveur.

    - mydestination : définit une liste de domaines ou noms de machines pour laquelle le serveur se considérera comme étant la destination finale des messages.

    PS : J'aurais pu très bien remplacer srvdebian.mika.fr par $myhostname.

    - relayhost : serveur SMTP vers lequel les mails seront renvoyés.

    - mynetworks : permet de définir le/les réseaux qui sont autorisés à envoyer des mails.

    - inet_interfaces : définit les adresses du serveurs suceptibles de recevoir du courrier.

    - myorigin : domaine qui apparaît dans le courrier envoyé sur cette machine ( ici $mydomain correspond à mika.fr ).

    - default_transport : définit le protocole à utiliser pour délivrer les messages.

    Une fois votre configuration effectuée et enregistrée, rechargez la configuration avec la commande :

    sudo postfix reload

    Faisons maintenant un test d'envoi de mail avec la commande suivante :

    echo "test envoi mail" | mail -s "test envoi mail" michaelbonnard@sfr.fr

    Postfix enregistre tous les échecs et succès de livraison dans un fichier appelé mail.log situé dans /var/log.

    Je vais donc voir dans ce fichier si mon mail a bien été délivré.

    sudo tail -f /var/log/mail.log

    Vous pouvez voir qu'un message ayant pour identifiant 20140226005901.2629B20525@srvdebian.mika.fr

    avec pour expéditeur mickael@mika.fr à destination d'un seul destinataire (  nrcpt=1 ) a été envoyé à

    michaelbonnard@sfr.fr via le relais smtp.sfr.fr.

    Vous pouvez également lire le message : Sender address rejected: Domain not found (in reply to RCPT TO command)

    Ce message d'erreur vient du fait que le domaine mika.fr n'a pas d'enregistrement MX et que celui-ci n'est donc pas un nom de domaine valide.

     

    Configuration simple d'un MTA avec Postfix

      (cliquer sur l'image pour l'agrandir)

     

    Pour régler le problème, je vais utiliser la réécriture d'adresses afin que les expéditeurs en @mika.fr soient remplacés par @sfr.fr.

    Pour cela, je vais insérer une ligne supplémentaire dans mon fichier main.cf. 

    Cette option va permettre de réécrire vos adresses locales en adresses de type identifiant@FAI.fr.

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir)

     

    Ensuite nous allons éditer le fichier sender_canonical avec la commande :

    sudo nano /etc/postfix/sender_canonical 

    Il existe plusieurs façons de configurer la réécriture d'adresses ( ici j'ai mis 3 exemples ) :

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir) 

     

    La 1er exemple va réécrire tous les expéditeurs en @mika.fr pour les faire apparaitre en @sfr.fr.

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir) 

     

    Le second exemple va réécrire uniquement l'expéditeur mickael ( mickael@mika.fr ) et le faire apparaitre en mickael@sfr.fr.

     

    Configuration simple d'un MTA avec Postfix

      (cliquer sur l'image pour l'agrandir) 

     

    Enfin, le 3ème exemple va réécrire tous les expéditeurs en @mika.fr pour les faire apparaitre en srvdebian@sfr.fr.

     

    Configuration simple d'un MTA avec Postfix

      (cliquer sur l'image pour l'agrandir)

     

    Une fois votre fichier sender_canonical configuré et enregistré, il va falloir créer une base de données à partir de ce fichier avec la commande :

    sudo postmap /etc/postfix/sender_canonical

    Enfin rechargez la configuration de postfix avec la commande :

    sudo postfix reload

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir)

     

    Je vas maintenant retourner dans mes logs.

    Vous pouvez voir qu'un message ayant pour identifiant 20140226132757.84B3A2053F@srvdebian.mika.fr 

    avec pour expéditeur srvdebian@sfr.fr à destination d'un seul destinataire nrcpt=1 ) a été envoyé 

    à michaelbonnard@sfr.fr via le relais smtp.sfr.fr.

    Vous pouvez voir également que le message a bien été envoyé ( status=sent ), qu'il a été mis dans la file

    d'attente de la messagerie ( queued as E07C57000098 ) et qu'une fois que celui-ci a été reçu par le client de

    messagerie, il est supprimé de mon serveur ( removed ).

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir)

     

    Un administrateur Linux ( admin-linux.fr ) m'a également indiqué que Postfix devait envoyer des mails mais pas en recevoir et que par conséquent le démon SMTP de postfix n'avait pas lieu d'être démarré.

    Pour cela, il suffit d'éditer le fichier master.cf situé dans /etc/postfix.

    sudo nano /etc/postfix/master.cf

    Ensuite, il faudra commenter la ligne correspondant au démarrage de SMTP.

     

    Configuration simple d'un MTA avec Postfix

       (cliquer sur l'image pour l'agrandir)

     

    Si vous souhaitez relayer vos mail via Gmail ( je préfère relayer sur mon FAI ), il vous faudra activer le module SASL ( Simple Authentication and Security Layer ).

    Vous trouverez une multitude de tutoriels sur le sujet.

    Conclusion :

    Avec cette configuration simple, vous serez en mesure de recevoir les alertes / notifications de votre serveur.

    N'hésitez pas à me faire part de vos remarques et connaissances sur la configuration de Postfix.

    « Analyser votre réseau avec FingScript de surveillance des services »

    Tags Tags : , ,
  • Commentaires

    1
    Cesar
    Mercredi 15 Juin 2016 à 20:06

    merci

    2
    clakero
    Mardi 2 Août 2016 à 02:22

    jaimerai coupler postfix au reseau telephonique orange par exemple envoyer un sms.

     

    3
    Mardi 2 Août 2016 à 07:39

    Clakero.

    Postfix sert à relayer des mails, pas à envoyer des SMS.

    Dans ce cas, il vaut mieux t'orienter vers gammu.

    Cordialement

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :