Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 27/08/2020, 13:40] – Correction expression sefran | installer_postfix_avec_le_serveur_de_messagerie_sur_internet [Le 06/06/2024, 15:14] (Version actuelle) – [Installer Postfix pour l'envoie des courriels vers un serveur de messagerie du réseau local ou d'internet] 62.160.154.17 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| - | ====== Installer Postfix | + | ====== Installer Postfix |
| - | Pour communiquer | + | Pour expédier |
| Pour plus d' | Pour plus d' | ||
| Ligne 13: | Ligne 13: | ||
| Pour la partie sécurité du serveur [[: | Pour la partie sécurité du serveur [[: | ||
| - | |||
| - | Installer le client [[mutt|Mutt]] de messagerie MUA **[[apt> | ||
| - | |||
| - | |||
| - | |||
| ===== Définir le gestionnaire de messagerie ===== | ===== Définir le gestionnaire de messagerie ===== | ||
| Ligne 64: | Ligne 59: | ||
| {{ : | {{ : | ||
| - | ===== Configurer le client mail MUA système ===== | ||
| - | Testez la lecture de la boîte aux lettres : | ||
| - | <code bash> | ||
| - | |||
| - | Si vous avez un message du genre : | ||
| - | < | ||
| - | C'est que votre client mail est mal configuré. | ||
| - | |||
| - | Tapez : < | ||
| - | |||
| - | ==== Configuration du client de courriels ==== | ||
| - | |||
| - | Éditer le fichier .muttrc dans votre dossier / | ||
| - | Et ajouter ou modifier ces lignes : | ||
| - | < | ||
| - | set realname=" | ||
| - | set header_cache=~/ | ||
| - | set certificate_file=~/ | ||
| - | set message_cachedir=~/ | ||
| - | set beep | ||
| - | set use_from = yes | ||
| - | |||
| - | # Boite de réception | ||
| - | set spoolfile=~/ | ||
| - | # Boite aux lettres de Mutt | ||
| - | set folder=~/ | ||
| - | |||
| - | # 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=" | ||
| - | set index_format=" | ||
| - | set fast_reply | ||
| - | set include=yes | ||
| - | |||
| - | # Configuration SMTP | ||
| - | set sendmail="/ | ||
| - | </ | ||
| ===== 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' | La commande de la file d' | ||
| Ligne 203: | Ligne 155: | ||
| telnet: Unable to connect to remote host: Connection refused</ | telnet: Unable to connect to remote host: Connection refused</ | ||
| - | ===== 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 : | ||
| < | < | ||
| Ligne 266: | Ligne 218: | ||
| Tester la connexion telnet : | Tester la connexion telnet : | ||
| <code bash> | <code bash> | ||
| - | retourne | + | retourne |
| < | < | ||
| Connected to localhost. | Connected to localhost. | ||
| Ligne 336: | Ligne 288: | ||
| < | < | ||
| Connection closed by foreign host.</ | Connection closed by foreign host.</ | ||
| - | 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' | ===== Mettre en place l' | ||
| - | + | Pour vous connecter sur votre serveur distant relaie avec SASL il vous faut disposer d'un compte et d'un mot de passe. | |
| - | Pour valider la configuration dans Postfix, tapez : | + | === Exemple |
| - | <code bash> | + | Pour un identifiant SASL avec Gmail |
| - | + | ||
| - | === Exemple | + | |
| - | Pour configurer | + | |
| == Création du mot de passe applicatif == | == Création du mot de passe applicatif == | ||
| {{ : | {{ : | ||
| Ligne 369: | Ligne 318: | ||
| {{ : | {{ : | ||
| 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 | |
| - | ==== Configuration | + | |
| Éditez le fichier / | Éditez le fichier / | ||
| - | < | + | < |
| Passez la commande pour valider le mot de passe avec Postfix : | Passez la commande pour valider le mot de passe avec Postfix : | ||
| Ligne 380: | Ligne 328: | ||
| < | < | ||
| - | ==== Configuration de Postfix ==== | + | ==== Configuration |
| Modifiez / | Modifiez / | ||
| < | < | ||
| inet_interfaces = loopback-only | inet_interfaces = loopback-only | ||
| # La machine par défaut où livrer le courrier au départ lorsqu' | # La machine par défaut où livrer le courrier au départ lorsqu' | ||
| - | relayhost = [smtp.gmail.com]:587 | + | relayhost = [smtp.fm.fr]:587 |
| - | # Gmail | + | |
| # Active l' | # Active l' | ||
| smtp_sasl_auth_enable = yes | smtp_sasl_auth_enable = yes | ||
| # Désactive l' | # Désactive l' | ||
| smtp_sasl_security_options = noanonymous | smtp_sasl_security_options = noanonymous | ||
| + | # Location de l' | ||
| + | smtp_sasl_password_maps = hash:/ | ||
| + | |||
| + | === Exemple avec Gmail === | ||
| + | Modifier en plus de la configuration ci-dessus : | ||
| + | < | ||
| + | relayhost = [smtp.gmail.com]: | ||
| + | |||
| + | # Modifications pour SASL | ||
| # Pour corriger des erreurs d' | # Pour corriger des erreurs d' | ||
| smtp_sasl_mechanism_filter = plain | smtp_sasl_mechanism_filter = plain | ||
| - | # Location de l' | + | |
| - | smtp_sasl_password_maps = hash:/ | + | # 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 = / | + | smtp_tls_CAfile = / |
| - | </ | + | |
| - | À ce stade, si on redémarre le service Postfix, l' | + | Pour valider |
| - | {{ :: | + | |
| - | + | ||
| - | Il faut, pour éviter cela, substituer le nom d' | + | |
| - | + | ||
| - | Éditez le fichier generic ('' | + | |
| - | < | + | |
| - | utilisateur@localhost | + | |
| - | utilisateur@mondomainemessagerie.fr | + | |
| - | root@mondomainemessagerie.fr | + | |
| - | sudoer@mondomainemessagerie.fr | + | |
| - | + | ||
| - | Validez pour Postfix les substitutions : | + | |
| - | <code bash> | + | |
| - | + | ||
| - | Ajoutez | + | |
| - | < | + | |
| - | + | ||
| - | Redémarrer | + | |
| <code bash> | <code bash> | ||
| - | ==== 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> | ||
| - | === Vérifier l' | + | ou en perl: |
| - | Pour vérifier que la connexion TLS de Gmail fonctionne tapez : | + | <code bash>perl -MMIME:: |
| - | <code bash>openssl s_client | + | |
| - | Qui doit donner en sortie: | + | |
| - | <code bash> | + | |
| - | depth=2 OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign | + | |
| - | verify return:1 | + | |
| - | depth=1 C = US, O = Google Trust Services, CN = GTS CA 1O1 | + | |
| - | verify return:1 | + | |
| - | 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: | ||
| - | --- | ||
| - | New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 | ||
| - | Server public key is 256 bit | ||
| - | Secure Renegotiation IS NOT supported | ||
| - | Compression: | ||
| - | Expansion: NONE | ||
| - | No ALPN negotiated | ||
| - | Early data was not sent | ||
| - | Verify return code: 0 (ok) | ||
| - | --- | ||
| - | 250 SMTPUTF8 | ||
| - | </ | ||
| - | |||
| - | Tapez **quit** pour finir la session : | ||
| - | <code bash> | ||
| - | |||
| - | Ce qui donne comme résultat : | ||
| - | <code bash>--- | ||
| - | Post-Handshake New Session Ticket arrived: | ||
| - | SSL-Session: | ||
| - | Protocol | ||
| - | Cipher | ||
| - | 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 | ||
| - | 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 | ||
| - | Cipher | ||
| - | 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 | ||
| - | 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: | ||
| - | |||
| - | === Vérifier l' | ||
| - | Creer un Hash (code crypté de connexion) pour votre identifiant Gmail et votre mot de passe applicatif. | ||
| - | <code bash> | ||
| Soit pour notre exemple : | Soit pour notre exemple : | ||
| - | <code bash> | + | <code bash> |
| - | + | ||
| - | ou en perl: | + | |
| - | <code bash> | + | |
| Ce qui donne en sortie : | Ce qui donne en sortie : | ||
| - | < | + | < |
| Pour vérifier qu'il n'y a pas d' | Pour vérifier qu'il n'y a pas d' | ||
| - | <code bash> | + | <code bash> |
| - | ou en perl | + | ou en perl : |
| - | <code bash> | + | <code bash> |
| Pour vous connecter avec cet identifiant crypté : | Pour vous connecter avec cet identifiant crypté : | ||
| <code bash> | <code bash> | ||
| - | Puis saisissez : | + | Puis saisissez : |
| < | < | ||
| 250-localpart.domain.part | 250-localpart.domain.part | ||
| Ligne 555: | Ligne 394: | ||
| Maintenant c'est le code de Hash de l' | Maintenant c'est le code de Hash de l' | ||
| - | < | + | < |
| Vérifiez alors que vous avez la ligne : | Vérifiez alors que vous avez la ligne : | ||
| - | < | + | < |
| + | ==== Correction sur l' | ||
| + | À ce stade, si on redémarre le service Postfix, l' | ||
| + | |||
| + | Mais nous allons obtenir un message d' | ||
| + | |||
| + | Par exemple dans Gmail : | ||
| + | {{ :: | ||
| + | |||
| + | Il faut, pour éviter cela, substituer le nom d' | ||
| + | |||
| + | === Substitution des comptes locaux avec les adresses du fournisseur de messagerie === | ||
| + | Éditez le fichier generic ('' | ||
| + | < | ||
| + | utilisateur@mondomainemessagerie.fr | ||
| + | root@mondomainemessagerie.fr | ||
| + | sudoer@mondomainemessagerie.fr | ||
| + | |||
| + | == Exemple avec Gmail == | ||
| + | < | ||
| + | utilisateur@localhost | ||
| + | utilisateur@mondomainemessagerie.fr | ||
| + | root@mondomainemessagerie.fr | ||
| + | sudoer@mondomainemessagerie.fr | ||
| + | |||
| + | === Validez pour Postfix les substitutions === | ||
| + | <code bash> | ||
| + | |||
| + | Ajoutez dans main.cf ('' | ||
| + | < | ||
| + | |||
| + | Redémarrer Postfix : | ||
| + | <code bash> | ||
| + | Vous pouvez maintenant envoyer vos messages vers votre serveur distant. Mais pour les lire il vous faudra [[: | ||
