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, 13:16]
sefran Mise en page
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 138: Ligne 90:
 Pour valider la configuration dans Postfix, tapez : Pour valider la configuration dans Postfix, tapez :
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
-===== Configurer une distribution SMTP sécurisée ===== 
  
-==== Bloquer le port 25 SMTP standard ==== +===== Bloquer le port 25 SMTP standard ​===== 
-=== Test de la connexion sur le port 25 ===+==== Test de la connexion sur le port 25 ====
 Déjà testons que le port 25 est ouvert. Déjà testons que le port 25 est ouvert.
 Pour cela tapez la commande : Pour cela tapez la commande :
Ligne 190: Ligne 141:
 Vous avez expédié un courriels local :-) Vous avez expédié un courriels local :-)
  
-=== Blocage du port 25 ===+==== Blocage du port 25 ====
 Modifier le fichier master.cf (''​kate /​etc/​postfix/​master.cf''​) Modifier le fichier master.cf (''​kate /​etc/​postfix/​master.cf''​)
 <​file>#​smtp ​     inet  n       ​- ​      ​y ​      ​- ​      ​- ​      ​smtpd</​file>​ <​file>#​smtp ​     inet  n       ​- ​      ​y ​      ​- ​      ​- ​      ​smtpd</​file>​
Ligne 197: Ligne 148:
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
  
-=== Test du verrouillage du port 25 ===+==== Test du verrouillage du port 25 ====
 Pour cela taper : Pour cela taper :
 <code bash>​telnet localhost 25</​code>​ <code bash>​telnet localhost 25</​code>​
Ligne 204: Ligne 155:
 telnet: Unable to connect to remote host: Connection refused</​code>​ telnet: Unable to connect to remote host: Connection refused</​code>​
  
-==== Mettre en place la connexion TLS pour votre trafic SMTP ====+===== Mettre en place de la connexion TLS pour votre trafic SMTP =====
 Par défaut le configurateur configure TLS comme ci-dessus : Par défaut le configurateur configure TLS comme ci-dessus :
 <​file>#​ TLS paramètres du serveur smtpd de Postfix <​file>#​ TLS paramètres du serveur smtpd de Postfix
Ligne 218: Ligne 169:
 </​file>​ </​file>​
  
-=== Configuration d'un trafic TLS pur ===+==== Configuration d'un trafic TLS pur ====
 Pour valider le transport [[https://​fr.wikipedia.org/​wiki/​Transport_Layer_Security|TLS]] il faut modifier le fichier main.cf (''​kate /​etc/​postfix/​main.cf''​) comme suit : Pour valider le transport [[https://​fr.wikipedia.org/​wiki/​Transport_Layer_Security|TLS]] il faut modifier le fichier main.cf (''​kate /​etc/​postfix/​main.cf''​) comme suit :
 <​file>#​ TLS pour le serveur smtpd de Postfix <​file>#​ TLS pour le serveur smtpd de Postfix
Ligne 243: Ligne 194:
 smtp_tls_session_cache_database = btree:​${data_directory}/​smtp_scache</​file>​ smtp_tls_session_cache_database = btree:​${data_directory}/​smtp_scache</​file>​
  
-=== Autoriser les connections TLS ===+==== Autoriser les connections TLS ====
 Pour cela il faut modifier le fichier master.cf (''​kate /​etc/​postfix/​master.cf''​) Pour cela il faut modifier le fichier master.cf (''​kate /​etc/​postfix/​master.cf''​)
  
Ligne 261: Ligne 212:
 </​file>​ </​file>​
  
-==== Mettre en place l'​authentification SASL ==== +Redémarrer ​Postfix :
- +
-Pour valider la configuration dans Postfix, tapez :+
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
  
-=== Cas Gmail === +==== Vérifier le blocage des connexions non TLS ==== 
-Pour configurer Gmail en relaie ​SMTP +Tester la connexion telnet : 
-==== Création du mot de passe applicatif ​====+<code bash>​telnet localhost 587</​code>​ 
 +retourne 
 +<​code>​Trying 127.0.0.1... 
 +Connected to localhost. 
 +Escape character is '​^]'​. 
 +220 Ma-Machine ESMTP (Courriels)</​code>​ 
 + 
 +Taper : 
 +<​code>​ehlo Ma-Machine</​code>​ 
 +retourne 
 +<​code>​250-Ma-Machine 
 +250-PIPELINING 
 +250-SIZE 10240000 
 +250-VRFY 
 +250-ETRN 
 +250-STARTTLS 
 +250-ENHANCEDSTATUSCODES 
 +250-8BITMIME 
 +250-DSN 
 +250-SMTPUTF8 
 +250 CHUNKING</​code>​ 
 + 
 +Taper : 
 +<​code>​MAIL FROM: utilisateur</​code>​ 
 +retourne 
 +<​code>​530 5.7.0 Must issue a STARTTLS command first</​code>​ 
 + 
 +Taper : 
 +<​code>​quit</​code>​ 
 +retourne 
 +<​code>​221 2.0.0 Bye 
 +Connection closed by foreign host.</​code>​ 
 + 
 +==== Vérifier les connexions TLS ==== 
 +Pour vous connecter en TLS : 
 +<code bash>​openssl s_client -starttls smtp -connect localhost:​587</​code>​ 
 +retourne 
 +<​code>​CONNECTED(00000003) 
 +… 
 +    Start Time: 1598437512 
 +    Timeout ​  : 7200 (sec) 
 +    Verify return code: 0 (ok) 
 +    Extended master secret: no 
 +    Max Early Data: 0 
 +--- 
 +read R BLOCK</​code>​ 
 + 
 +Tapez : 
 +<​code>​ehlo Ma-Machine</​code>​ 
 +retourne 
 +<​code>​250-Ma-Machine 
 +250-PIPELINING 
 +250-SIZE 10240000 
 +250-VRFY 
 +250-ETRN 
 +250-ENHANCEDSTATUSCODES 
 +250-8BITMIME 
 +250-DSN 
 +250-SMTPUTF8 
 +250 CHUNKING</​code>​ 
 + 
 +Tapez : 
 +<​code>​MAIL FROM: utilisateur</​code>​ 
 +retourne 
 +<​code>​250 2.1.0 Ok</​code>​ 
 + 
 +Tapez : 
 +<​code>​QUIT</​code>​ 
 +retourne 
 +<​code>​221 2.0.0 Bye 
 +Connection closed by foreign host.</​code>​ 
 +Vos échanges de courriels sont maintenant cryptés lors du transport ​en SMTP. 
 +===== 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. 
 +=== Exemple de mot de passe SASL Gmail === 
 +Pour un identifiant SASL avec Gmail 
 +== Création du mot de passe applicatif ==
 {{ :​doc:​1_accesconfigcompte.png?​nolink |}} {{ :​doc:​1_accesconfigcompte.png?​nolink |}}
  
Ligne 293: 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 ​de l'​identifiant du serveur de messagerie ​====
-==== Configuration ​Postfix ​====+
 É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.gmail.com]:587    ​mon_compte_gmail:mdp_applicatif_google</​file>​ +<​file>​[smtp.fm.fr]:587    ​mon_compte_messagerie:mdp_messagerie</​file>​
-Exemple : +
-<​file>​[smtp.gmail.com]:​587 ​   utilisateur@gmail.com:​ygvpyhldoiqujhth</​file>​+
  
 Passez la commande pour valider le mot de passe avec Postfix : Passez la commande pour valider le mot de passe avec Postfix :
 <code bash>​sudo postmap /​etc/​postfix/​sasl_passwd</​code>​ <code bash>​sudo postmap /​etc/​postfix/​sasl_passwd</​code>​
  
 +=== Exemple avec Gmail ===
 +<​file>​[smtp.gmail.com]:​587 ​   utilisateur@gmail.com:​ygvpyhldoiqujhth</​file>​
 +
 +==== Configuration du client SASL de Postfix ====
 Modifiez /​etc/​postfix/​main.cf (''​kate /​etc/​postfix/​main.cf''​):​ Modifiez /​etc/​postfix/​main.cf (''​kate /​etc/​postfix/​main.cf''​):​
 <​file>#​ Les interfaces réseau par lesquelles le système de messagerie reçoit les messages. <​file>#​ Les interfaces réseau par lesquelles le système de messagerie reçoit les messages.
 inet_interfaces = loopback-only inet_interfaces = loopback-only
 # La machine par défaut où livrer le courrier au départ lorsqu'​il n'y a aucune destination locale d'​arrivée (mydestination). # La machine par défaut où livrer le courrier au départ lorsqu'​il n'y a aucune destination locale d'​arrivée (mydestination).
-relayhost = [smtp.gmail.com]:587 +relayhost = [smtp.fm.fr]:587
-# Gmail+
 # Active l'​authentification SASL # Active l'​authentification SASL
 smtp_sasl_auth_enable = yes smtp_sasl_auth_enable = yes
 # Désactive l'​authentification anonyme # Désactive l'​authentification anonyme
 smtp_sasl_security_options = noanonymous smtp_sasl_security_options = noanonymous
 +# Location de l'​indentifiant SASL
 +smtp_sasl_password_maps = hash:/​etc/​postfix/​sasl/​sasl_passwd</​file>​
 +
 +=== Exemple avec Gmail ===
 +Modifier en plus de la configuration ci-dessus :
 +<​file>#​ La machine par défaut où livrer le courrier au départ lorsqu'​il n'y a aucune destination locale d'​arrivée (mydestination).
 +relayhost = [smtp.gmail.com]:​587
 +
 +# Modifications pour SASL
 # Pour corriger des erreurs d'​authentification SASL avec GMAIL # Pour corriger des erreurs d'​authentification SASL avec GMAIL
 smtp_sasl_mechanism_filter = plain smtp_sasl_mechanism_filter = plain
-Location de l'​indentifiant SASL + 
-smtp_sasl_password_maps = hash:/​etc/​postfix/​sasl/​sasl_passwd +Modifications pour TLS 
-Active le crytage STARTTLS+Niveau de sécurité dans la négociation du protocole
 smtp_tls_security_level = encrypt smtp_tls_security_level = encrypt
 # Location du certificat CA # Location du certificat CA
-smtp_tls_CAfile = /​etc/​ssl/​certs/​ca-certificates.crt +smtp_tls_CAfile = /​etc/​ssl/​certs/​ca-certificates.crt</​file>​
-</​file>​+
  
-À 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. +Pour valider ​la configuration ​dans Postfix, tapez :
-{{ ::​adresseexpincorrecte.png?​nolink&​600 |}} +
- +
-Il faut, pour éviter cela, substituer le nom d'​expéditeur avec le nom de l'​adresse de messagerie du serveur de messagerie pour lequel on envoie le courriel. +
- +
-Éditez le fichier generic (''​kate /​etc/​postfix/​generic''​) et modifiez le comme suivant : +
-<​file>​utilisateur@mon_nom_machine ​            ​username@gmail.com +
-utilisateur@localhost ​                  ​username@gmail.com +
-utilisateur@mondomainemessagerie.fr ​    ​username@gmail.com  +
-root@mondomainemessagerie.fr ​           username@gmail.com +
-sudoer@mondomainemessagerie.fr ​         username@gmail.com</​file>​ +
- +
-Validez pour Postfix les substitutions : +
-<code bash>​sudo postmap /​etc/​postfix/​generic</​code>​ +
- +
-Ajoutez ​dans main.cf (''​kate /​etc/​postfix/​main.cf''​) : +
-<​file>​smtp_generic_maps = hash:/​etc/​postfix/​generic</​file>​ +
- +
-Redémarrer ​Postfix :+
 <code bash>​systemctl restart postfix</​code>​ <code bash>​systemctl restart postfix</​code>​
  
-==== Débogage en cas de problèmes ​====+=== 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>​
  
-=== Vérifier l'​accès TLS === +ou en perl
-Pour vérifier que la connexion TLS de Gmail fonctionne tapez : +<code bash>perl -MMIME::Base64 ​-le 'print encode_base64("​\000mon_compte_courriel\000mdp_applicatif"​);'</​code>​
-<code bash>​openssl s_client -starttls smtp -connect smtp.gmail.com:​587</​code>​ +
-Qui doit donner ​en sortie+
-<code bash>CONNECTED(00000003) +
-depth=2 OU = GlobalSign Root CA R2, O = GlobalSign, CN = GlobalSign +
-verify return:+
-depth=1 C = US, O = Google Trust Services, CN = GTS CA 1O1 +
-verify return:+
-depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com +
-verify return:1 +
---- +
-Certificate chain +
- 0 s:C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com +
-   i:C = US, O = Google Trust Services, CN = GTS CA 1O1 +
- 1 s:C = US, O = Google Trust Services, CN = GTS CA 1O1 +
-   i:OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign +
---- +
-Server certificate +
------BEGIN CERTIFICATE----- +
-… +
------END CERTIFICATE----- +
-subject=C = US, ST = California, L = Mountain View, O = Google LLC, CN = smtp.gmail.com +
- +
-issuer=C = US, O = Google Trust Services, CN = GTS CA 1O1 +
- +
---- +
-No client certificate CA names sent +
-Peer signing digest: SHA256 +
-Peer signature type: ECDSA +
-Server Temp Key: X25519, 253 bits +
---- +
-SSL handshake has read 2893 bytes and written 429 bytes +
-Verification:​ OK +
---- +
-New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 +
-Server public key is 256 bit +
-Secure Renegotiation IS NOT supported +
-Compression:​ NONE +
-Expansion: NONE +
-No ALPN negotiated +
-Early data was not sent +
-Verify return code: 0 (ok) +
---- +
-250 SMTPUTF8 +
-</​code>​+
  
-Tapez **quit** pour finir la session : 
-<code bash>​quit</​code>​ 
- 
-Ce qui donne comme résultat : 
-<code bash>--- 
-Post-Handshake New Session Ticket arrived: 
-SSL-Session:​ 
-    Protocol ​ : TLSv1.3 
-    Cipher ​   : TLS_AES_256_GCM_SHA384 
-    Session-ID: … 
-    Session-ID-ctx: ​ 
-    Resumption PSK: … 
-    PSK identity: None 
-    PSK identity hint: None 
-    SRP username: None 
-    TLS session ticket lifetime hint: 172800 (seconds) 
-    TLS session ticket: 
-    … 
- 
-    Start Time: 1597667889 
-    Timeout ​  : 7200 (sec) 
-    Verify return code: 0 (ok) 
-    Extended master secret: no 
-    Max Early Data: 0 
---- 
-read R BLOCK 
---- 
-Post-Handshake New Session Ticket arrived: 
-SSL-Session:​ 
-    Protocol ​ : TLSv1.3 
-    Cipher ​   : TLS_AES_256_GCM_SHA384 
-    Session-ID: … 
-    Session-ID-ctx: ​ 
-    Resumption PSK: … 
-    PSK identity: None 
-    PSK identity hint: None 
-    SRP username: None 
-    TLS session ticket lifetime hint: 172800 (seconds) 
-    TLS session ticket: 
-    … 
-    Start Time: 1597667889 
-    Timeout ​  : 7200 (sec) 
-    Verify return code: 0 (ok) 
-    Extended master secret: no 
-    Max Early Data: 0 
---- 
-read R BLOCK 
-221 2.0.0 closing connection 68sm31076964wra.39 - gsmtp 
-read:​errno=0</​code>​ 
- 
-=== 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 : 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>​ +<code bash>​python3 -c '​import sys; from base64 import b64encode; print(b64encode(bytes(f"​\000utilisateur@gmail.com\000ygvpyhldoiqujhth", 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 : Ce qui donne en sortie :
-<​code>​dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg=</​code>​+<​code>​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo</​code>​
  
 Pour vérifier qu'il n'y a pas d'​erreurs : 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>​+<code bash>​python3 -c '​import sys; from base64 import b64decode; print(b64decode("​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo"​).decode("​ascii"​))'</​code>​
  
-ou en perl +ou en perl : 
-<code bash>​perl -MMIME::​Base64 -le 'print decode_base64("​dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg="​);'</​code>​+<code bash>​perl -MMIME::​Base64 -le 'print decode_base64("​AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo"​);'</​code>​
  
 Pour vous connecter avec cet identifiant crypté : Pour vous connecter avec cet identifiant crypté :
 <code bash>​openssl s_client -starttls smtp -connect smtp.gmail.com:​587</​code>​ <code bash>​openssl s_client -starttls smtp -connect smtp.gmail.com:​587</​code>​
  
-Puis saisissez : +Puis saisissez :
 <​code>​ehlo domain <​code>​ehlo domain
 250-localpart.domain.part 250-localpart.domain.part
Ligne 477: Ligne 394:
  
 Maintenant c'est le code de Hash de l'​identifiant mot de passe applicatif Google qu'il faut saisir : Maintenant c'est le code de Hash de l'​identifiant mot de passe applicatif Google qu'il faut saisir :
-<​code>​AUTH PLAIN dXPpbGlzYXRldXJAZ21haWwuY29tOnlndnB5aGxkb2lxdWpodGg=</​code>​+<​code>​AUTH PLAIN AHV0aWxpc2F0ZXVyQGdtYWlsLmNvbQB5Z3ZweWhsZG9pcXVqaHRo</​code>​
  
 Vérifiez alors que vous avez la ligne : Vérifiez alors que vous avez la ligne :
-<​code>​235 2.7.0 Authentication successful</​code>​+<​code>​235 2.7.0 Accepted</​code>​ 
 +==== Correction sur l'​expéditeur ==== 
 +À 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. 
 + 
 +Par exemple dans Gmail : 
 +{{ ::​adresseexpincorrecte.png?​nolink&​600 |}} 
 + 
 +Il faut, pour éviter cela, substituer le nom d'​expéditeur avec le nom de l'​adresse de messagerie du serveur de messagerie pour lequel on envoie le courriel. 
 + 
 +=== Substitution des comptes locaux avec les adresses du fournisseur de messagerie === 
 +Éditez le fichier generic (''​kate /​etc/​postfix/​generic''​) et modifiez le comme suivant : 
 +<​file>​utilisateur@mon_nom_machine ​            ​username@mon_fm.fr 
 +utilisateur@mondomainemessagerie.fr ​    ​username@mon_fm.fr 
 +root@mondomainemessagerie.fr ​           admin@mon_fm.fr 
 +sudoer@mondomainemessagerie.fr ​         admin@mon_fm.fr</​file>​ 
 + 
 +== Exemple avec Gmail == 
 +<​file>​utilisateur@mon_nom_machine ​            ​username@gmail.com 
 +utilisateur@localhost ​                  ​username@gmail.com 
 +utilisateur@mondomainemessagerie.fr ​    ​username@gmail.com 
 +root@mondomainemessagerie.fr ​           username@gmail.com 
 +sudoer@mondomainemessagerie.fr ​         username@gmail.com</​file>​ 
 + 
 +=== Validez pour Postfix les substitutions === 
 +<code bash>​sudo postmap /​etc/​postfix/​generic</​code>​ 
 + 
 +Ajoutez dans main.cf (''​kate /​etc/​postfix/​main.cf''​) : 
 +<​file>​smtp_generic_maps = hash:/​etc/​postfix/​generic</​file>​ 
 + 
 +Redémarrer Postfix : 
 +<code bash>​systemctl restart postfix</​code>​
  
 +Vous pouvez maintenant envoyer vos messages vers votre serveur distant. Mais 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).
  • installer_postfix_avec_le_serveur_de_messagerie_sur_internet.1598526975.txt.gz
  • Dernière modification: Le 27/08/2020, 13:16
  • par sefran