Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 27/08/2020, 14:23]
sefran Correction expression
installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 11/09/2022, 11:34] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>​messagerie courriel postfix MTA serveur ​BROUILLON}}+{{tag>​messagerie courriel postfix MTA serveur}}
  
-====== Installer Postfix ​avec le serveur de messagerie du réseau local ou sur internet ====== +====== Installer Postfix ​pour l'​envoie des courriels vers un serveur de messagerie du réseau local ou d'internet ====== 
-Pour communiquer ​directement ​avec un serveur de messagerie internet ou du [[https://​fr.wikipedia.org/​wiki/​R%C3%A9seau_local|LAN]]. C'est la configuration «système satellite».+Pour expédier ​directement ​sur un serveur de messagerie internet ou du [[https://​fr.wikipedia.org/​wiki/​R%C3%A9seau_local|LAN]] ​vos courriels. C'est la configuration «système satellite», ou ce que l'on appelle dans le cas que nous allons voir ici, un client Postfix sans rôle avec un relaie internet.
  
 Pour plus d'​informations sur la messagerie lire [[:​comment_fonctionne_le_courriel_sous_linux|Comment fonctionne le courriel sous Linux ?]], et sur les principes du serveur Postfix lire [[:​comment_configurer_sa_distribution_de_courriels_systemes_mta|Comment configurer sa distribution de courriels systèmes MTA avec Postfix ?]] Pour plus d'​informations sur la messagerie lire [[:​comment_fonctionne_le_courriel_sous_linux|Comment fonctionne le courriel sous Linux ?]], et sur les principes du serveur Postfix lire [[:​comment_configurer_sa_distribution_de_courriels_systemes_mta|Comment configurer sa distribution de courriels systèmes MTA avec Postfix ?]]
Ligne 13: Ligne 13:
  
 Pour la partie sécurité du serveur [[:​tutoriel:​comment_installer_un_paquet|installez les paquets]] **[[apt>​libsasl2-modules,​libauthen-sasl-cyrus-perl,​ |libsasl2-modules libauthen-sasl-cyrus-perl]]**. Pour la partie sécurité du serveur [[:​tutoriel:​comment_installer_un_paquet|installez les paquets]] **[[apt>​libsasl2-modules,​libauthen-sasl-cyrus-perl,​ |libsasl2-modules libauthen-sasl-cyrus-perl]]**.
- 
-Installer le client [[mutt|Mutt]] de messagerie MUA **[[apt>​mutt|mutt]]** (les clients MUA de mailutils et de bsd-mailx ne supportent que le format mbox pour la gestion locale, vous pouvez aussi utiliser [[https://​neomutt.org|Neomutt]] avec plus de fonctionnalités en remplacement de Mutt **[[apt>​neomutt|Neomutt]]**). 
- 
- 
- 
  
 ===== Définir le gestionnaire de messagerie ===== ===== Définir le gestionnaire de messagerie =====
Ligne 64: Ligne 59:
 {{ :​doc:​10_protocoles.png?​nolink&​600 |}} {{ :​doc:​10_protocoles.png?​nolink&​600 |}}
  
-===== Configurer le client mail MUA système ===== 
-Testez la lecture de la boîte aux lettres : 
-<code bash>​mutt</​code>​ 
- 
-Si vous avez un message du genre : 
-<​code>/​home/​utidisateur/​Mail n'​existe pas. Le créer ? ([oui]/​non):</​code>​ 
-C'est que votre client mail est mal configuré. 
- 
-Tapez : <​code>​n</​code>​ puis pour quitter Mutt <​code>​q</​code>​ 
- 
-==== Configuration du client de courriels ==== 
- 
-Éditer le fichier .muttrc dans votre dossier /​home/​utilisateur (''​kate ~/​.muttrc''​) 
-Et ajouter ou modifier ces lignes : 
-<​file>#​ Configuration de base 
-set realname="​{Prénom NOM}" 
-set header_cache=~/​.mutt/​cache/​headers 
-set certificate_file=~/​.mutt/​certificates 
-set message_cachedir=~/​.mutt/​cache/​bodies 
-set beep 
-set use_from = yes 
- 
-# Boite de réception 
-set spoolfile=~/​.local/​share/​courriels/​arrivées/​ 
-# Boite aux lettres de Mutt 
-set folder=~/​.local/​share/​courriels 
- 
-# Autres dossiers 
-set postponed=+brouillons 
-set record=+envoyés 
- 
-# Encodage à utiliser 
-set charset=utf-8 
-set send_charset=utf-8 
-# Format de la date à afficher avant les citations lors d'une réponse 
-set date_format="​%A %d %B %Y à %I:​%M:​%S%p"​ 
-set index_format="​%4C %Z %{%b %d} %-15.15F (%4l) %s" 
-set fast_reply 
-set include=yes 
- 
-# Configuration SMTP 
-set sendmail="/​usr/​sbin/​sendmail"​ 
-</​file>​ 
  
 ===== Emplacement des boîtes aux lettres des utilisateurs du système ===== ===== Emplacement des boîtes aux lettres des utilisateurs du système =====
-Nous remarquons que le «configurateur» de Postfix n'a pas demandé de préciser où les boîtes aux lettres des utilisateurs sont situées. ​+Nous remarquons que le «configurateur» de Postfix n'a pas demandé de préciser où les boîtes aux lettres des utilisateurs sont situées.
  
 La commande de la file d'​attente : La commande de la file d'​attente :
Ligne 266: Ligne 218:
 Tester la connexion telnet : Tester la connexion telnet :
 <code bash>​telnet localhost 587</​code>​ <code bash>​telnet localhost 587</​code>​
-retourne ​                               +retourne
 <​code>​Trying 127.0.0.1... <​code>​Trying 127.0.0.1...
 Connected to localhost. Connected to localhost.
Ligne 336: Ligne 288:
 <​code>​221 2.0.0 Bye <​code>​221 2.0.0 Bye
 Connection closed by foreign host.</​code>​ Connection closed by foreign host.</​code>​
-Vos échanges de courriels sont maintenant cryptés lors du transport en SMTP. +Vos échanges de courriels sont maintenant cryptés lors du transport en SMTP.
 ===== Mettre en place l'​authentification SASL ===== ===== Mettre en place l'​authentification SASL =====
 Pour vous connecter sur votre serveur distant relaie avec SASL il vous faut disposer d'un compte et d'un mot de passe. Pour vous connecter sur votre serveur distant relaie avec SASL il vous faut disposer d'un compte et d'un mot de passe.
Ligne 366: Ligne 318:
 {{ :​doc:​12_resultat.png?​nolink |}} {{ :​doc:​12_resultat.png?​nolink |}}
 Vous avez créé votre mot de passe sécurité Google pour votre application Postfix. Vous avez créé votre mot de passe sécurité Google pour votre application Postfix.
-==== Configuration ​des identifiants ​du serveur ====+==== Configuration ​de l'​identifiant ​du serveur ​de messagerie ​====
 Éditez le fichier /​etc/​postfix/​sasl/​sasl_passwd (''​kate /​etc/​postfix/​sasl/​sasl_passwd''​) : Éditez le fichier /​etc/​postfix/​sasl/​sasl_passwd (''​kate /​etc/​postfix/​sasl/​sasl_passwd''​) :
-<​file>​[smtp.fm.fr]:​587 ​   ​mon_compte_gmail:mdp_applicatif_google</​file>​+<​file>​[smtp.fm.fr]:​587 ​   ​mon_compte_messagerie:mdp_messagerie</​file>​
  
 Passez la commande pour valider le mot de passe avec Postfix : Passez la commande pour valider le mot de passe avec Postfix :
Ligne 407: Ligne 359:
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
  
 +=== Vérifier l’authentification au serveur SMTP ===
 +Créer un Hash (code crypté de connexion) pour votre identifiant et votre mot de passe messagerie.
 +<code bash>​python3 -c '​import sys; from base64 import b64encode; print(b64encode(bytes(f"​\000mon_compte_courriel\000mdp_applicatif",​ encoding="​ascii"​)).decode("​ascii"​))'</​code>​
 +
 +ou en perl:
 +<code bash>​perl -MMIME::​Base64 -le 'print encode_base64("​\000mon_compte_courriel\000mdp_applicatif"​);'</​code>​
 +
 +Soit pour notre exemple :
 +<code bash>​python3 -c '​import sys; from base64 import b64encode; print(b64encode(bytes(f"​\000utilisateur@gmail.com\000ygvpyhldoiqujhth",​ encoding="​ascii"​)).decode("​ascii"​))'</​code>​
 +
 +Ce qui donne en sortie :
 +<​code>​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo</​code>​
 +
 +Pour vérifier qu'il n'y a pas d'​erreurs :
 +<code bash>​python3 -c '​import sys; from base64 import b64decode; print(b64decode("​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo"​).decode("​ascii"​))'</​code>​
 +
 +ou en perl :
 +<code bash>​perl -MMIME::​Base64 -le 'print decode_base64("​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo"​);'</​code>​
 +
 +Pour vous connecter avec cet identifiant crypté :
 +<code bash>​openssl s_client -starttls smtp -connect smtp.gmail.com:​587</​code>​
 +
 +Puis saisissez :
 +<​code>​ehlo domain
 +250-localpart.domain.part
 +250-PIPELINING
 +250-SIZE 31457280
 +250-VRFY
 +250-ETRN
 +250-AUTH PLAIN LOGIN
 +250-ENHANCEDSTATUSCODES
 +250-8BITMIME
 +250 DSN</​code>​
 +
 +Maintenant c'est le code de Hash de l'​identifiant mot de passe applicatif Google qu'il faut saisir :
 +<​code>​AUTH PLAIN AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo</​code>​
 +
 +Vérifiez alors que vous avez la ligne :
 +<​code>​235 2.7.0 Accepted</​code>​
 ==== Correction sur l'​expéditeur ==== ==== Correction sur l'​expéditeur ====
-À ce stade, si on redémarre le service Postfix, l'​envoie de messages fonctionnent. ​+À ce stade, si on redémarre le service Postfix, l'​envoie de messages fonctionnent.
  
 Mais nous allons obtenir un message d'​erreur sur l'​expéditeur dans notre client de messagerie MUA à la réception du message. Mais nous allons obtenir un message d'​erreur sur l'​expéditeur dans notre client de messagerie MUA à la réception du message.
 +
 +Par exemple dans Gmail :
 {{ ::​adresseexpincorrecte.png?​nolink&​600 |}} {{ ::​adresseexpincorrecte.png?​nolink&​600 |}}
  
Ligne 418: Ligne 411:
 Éditez le fichier generic (''​kate /​etc/​postfix/​generic''​) et modifiez le comme suivant : Éditez le fichier generic (''​kate /​etc/​postfix/​generic''​) et modifiez le comme suivant :
 <​file>​utilisateur@mon_nom_machine ​            ​username@mon_fm.fr <​file>​utilisateur@mon_nom_machine ​            ​username@mon_fm.fr
-utilisateur@mondomainemessagerie.fr ​    ​username@mon_fm.fr ​+utilisateur@mondomainemessagerie.fr ​    ​username@mon_fm.fr
 root@mondomainemessagerie.fr ​           admin@mon_fm.fr root@mondomainemessagerie.fr ​           admin@mon_fm.fr
 sudoer@mondomainemessagerie.fr ​         admin@mon_fm.fr</​file>​ sudoer@mondomainemessagerie.fr ​         admin@mon_fm.fr</​file>​
Ligne 425: Ligne 418:
 <​file>​utilisateur@mon_nom_machine ​            ​username@gmail.com <​file>​utilisateur@mon_nom_machine ​            ​username@gmail.com
 utilisateur@localhost ​                  ​username@gmail.com utilisateur@localhost ​                  ​username@gmail.com
-utilisateur@mondomainemessagerie.fr ​    ​username@gmail.com ​+utilisateur@mondomainemessagerie.fr ​    ​username@gmail.com
 root@mondomainemessagerie.fr ​           username@gmail.com root@mondomainemessagerie.fr ​           username@gmail.com
 sudoer@mondomainemessagerie.fr ​         username@gmail.com</​file>​ sudoer@mondomainemessagerie.fr ​         username@gmail.com</​file>​
Ligne 438: Ligne 431:
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
  
-==== Débogage en cas de problèmes ==== +Vous pouvez maintenant envoyer vos messages vers votre serveur ​distantMais pour les lire il vous faudra [[:comment_configurer_sa_distribution_de_courriels_locale_MDA|installer un MDA local]], ou vous connecter ​sur le MDA de votre serveur ​de messagerie distant pour les rapatrier dans votre client local de messagerie MUA (Mutt).
-=== Vérifier l'​autentification au serveur ​SMTP de Gmail === +
-Creer un Hash (code crypté de connexion) pour votre identifiant Gmail et votre mot de passe applicatif. +
-<code bash>​python3 -c '​import sys; from base64 import b64encode; print(b64encode(bytes(f"​mon_compte_gmail:​mdp_applicatif_google",​ encoding="​ascii"​)).decode("​ascii"​))'</​code>​ +
-Soit pour notre exemple ​: +
-<code bash>​python3 -c '​import sys; from base64 import b64encode; print(b64encode(bytes(f"​utilisateur@gmail.com:​ygvpyhldoiqujhth"​encoding="​ascii"​)).decode("​ascii"​))'</​code>​ +
- +
-ou en perl: +
-<code bash>​perl -MMIME::​Base64 -le 'print encode_base64("​utilisateur\@gmail.com:​ygvpyhldoiqujhth"​);'</​code>​ +
- +
-Ce qui donne en sortie : +
-<​code>​dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg=</​code>​ +
- +
-Pour vérifier qu'il n'y a pas d'​erreurs : +
-<code bash>​python3 -c '​import sys; from base64 import b64decode; print(b64decode("​dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg="​).decode("​ascii"​))'</​code>​ +
- +
-ou en perl +
-<code bash>​perl -MMIME::​Base64 -le 'print decode_base64("​dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg="​);'</​code>​ +
- +
-Pour vous connecter ​avec cet identifiant crypté : +
-<code bash>​openssl s_client -starttls smtp -connect smtp.gmail.com:​587</​code>​ +
- +
-Puis saisissez :  +
-<​code>​ehlo domain +
-250-localpart.domain.part +
-250-PIPELINING +
-250-SIZE 31457280 +
-250-VRFY +
-250-ETRN +
-250-AUTH PLAIN LOGIN +
-250-ENHANCEDSTATUSCODES +
-250-8BITMIME +
-250 DSN</​code>​ +
- +
-Maintenant c'​est ​le code de Hash de l'​identifiant mot de passe applicatif Google qu'il faut saisir : +
-<​code>​AUTH PLAIN dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg=</​code>​ +
- +
-Vérifiez alors que vous avez la ligne : +
-<​code>​235 2.7.0 Authentication successful</​code>​ +
  • installer_postfix_avec_le_serveur_de_messagerie_sur_internet.1598531019.txt.gz
  • Dernière modification: Le 27/08/2020, 14:23
  • par sefran