Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

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édentesRévision précédente
Prochaine révision
Révision précédente
logiciel:systeme:msmtp:start [2022/06/26 15:37] – [Exemple pour gmail] adminlogiciel:systeme:msmtp:start [2022/08/13 21:57] (Version actuelle) – modification externe 127.0.0.1
Ligne 17: Ligne 17:
  
 ===== Installation ===== ===== Installation =====
 +<WRAP list-deep>
  
-  - Installez les paquets **[[apt>msmtp,msmtp-mta,bsd-mailx]]** ou <cli>...@...:~$ sudo apt install msmtp msmtp-mta bsd-mailx</cli> +  - **Installez [[apt>msmtp,msmtp-mta,bsd-mailx]]** <cli prompt='$ '>...@...:~$ sudo apt install {msmtp,msmtp-mta,bsd-mailx}</cli> 
-  - Vérifiez si sendmail est présent sur votre système Linux:<cli>...@...:~$ sudo whereis sendmail+  - **Vérifiez que sendmail est présent** sur votre système :<cli>...@...:~$ sudo whereis sendmail
 sendmail: /usr/sbin/sendmail /usr/lib/sendmail /usr/share/sendmail /usr/share/man/man8/sendmail.8.gz</cli> sendmail: /usr/sbin/sendmail /usr/lib/sendmail /usr/share/sendmail /usr/share/man/man8/sendmail.8.gz</cli>
-  - Vérifiez que sendmail est lié à sSMTP :<cli>...@...:~$ sudo ls -la /usr/sbin/sendmail+  - **Vérifiez que sendmail est lié à msmtp** :<cli>...@...:~$ sudo ls -la /usr/sbin/sendmail
 lrwxrwxrwx 1 root root 12 oct.  11  2019 /usr/sbin/sendmail -> ../bin/msmtp lrwxrwxrwx 1 root root 12 oct.  11  2019 /usr/sbin/sendmail -> ../bin/msmtp
 </cli> -> Les 2 logiciels sont bien associés. </cli> -> Les 2 logiciels sont bien associés.
 +</WRAP>
  
 ===== Configuration ===== ===== Configuration =====
Ligne 30: Ligne 32:
  
 **[[logiciel:systeme:msmtp:config:param:start|]]** **[[logiciel:systeme:msmtp:config:param:start|]]**
 +
 +**Exemple de fichier msmtprc** :<code yaml /etc/msmtprc>
 +# Valeurs par défaut pour tous les comptes.
 +defaults
 +auth           on
 +tls            on
 +tls_starttls   on
 +tls_trust_file /etc/ssl/certs/ca-certificates.crt
 +logfile        /var/log/msmtp
 +
 +# Exemple pour un compte Gmail
 +account        gmail
 +auth           plain
 +host           smtp.gmail.com
 +port           587
 +from           username@gmail.com
 +user           username
 +password       XXXXXXXXXX
 +
 +# Exemple pour un compte GMX
 +account        gmx
 +host           mail.gmx.com
 +port           587
 +from           username@gmx.com
 +user           username@gmx.com
 +password       XXXXXXXXXX
 +tls_nocertcheck
 +
 +# Exemple pour un compte OVH
 +account        ovh
 +host           XXXXXX.ovh.net
 +port           465
 +from           username@example.com
 +user           username@example.com
 +password       XXXXXXXXXX
 +
 +# Exemple pour un compte Infomaniak
 +account        infomaniak
 +host           mail.infomaniak.com
 +port           587
 +from           username@example.com
 +user           username@example.com
 +password       XXXXXXXXXX
 +
 +# Exemple pour un serveur de test MailHog
 +account        mailhog
 +auth           off
 +tls            off
 +tls_starttls   off
 +host           localhost
 +port           1024
 +from           username@example.com
 +
 +# Définir le compte par défaut
 +account default : gmail
 +</code>
  
 Modèle exemple de fichier :<code yaml /etc/msmtprc> Modèle exemple de fichier :<code yaml /etc/msmtprc>
Ligne 55: Ligne 113:
  
 Les fonctionnalités non utilisées ici incluent la journalisation, les délais d'expiration, les proxy SOCKS, les paramètres TLS, les paramètres de notification d'état de livraison (DSN), etc. Les fonctionnalités non utilisées ici incluent la journalisation, les délais d'expiration, les proxy SOCKS, les paramètres TLS, les paramètres de notification d'état de livraison (DSN), etc.
 +
 +  * **Adresse du serveur SMTP Gmail** : smtp.gmail.com.
 +  * **Nom SMTP Gmail** : Votre nom complet.
 +  * **Identifiant SMTP Gmail** : votre adresse Gmail complète (par exemple vous@gmail.com)
 +  * **Mot de passe SMTP Gmail** : le mot de passe que vous utilisez pour vous connecter à Gmail.
 +  * **Port SMTP Gmail (TLS)** : 587.
 +  * **Port SMTP Gmail (SSL)** : 465.
  
 <code yaml ~/.msmtprc> <code yaml ~/.msmtprc>
Ligne 94: Ligne 159:
 account default : gmail (10) account default : gmail (10)
 </code> </code>
-<WRAP center round info 60%> + 
-  port 587 +  ; defaults 
-  : Utiliser le port 587 au lieu du port SMTP 25. +  : Valeurs par défaut pour tous les comptes qui suivent. 
-  tls on+  ; port 587 
 +  : port d’envoi pour les mails : utiliser le port 587 au lieu du port SMTP 25. 
 +  tls on 
 +  ; tls_starttls on
   : Toujours utiliser TLS (Connexion chiffrée)   : Toujours utiliser TLS (Connexion chiffrée)
-  tls_certcheck on\\ tls_trust_file /etc/ssl/certs/ca-certificates.crt +  :: La connexion entre votre ordinateur et le serveur distant est chiffrée, ce qui signifie que si une personne arrive à intercepter les données, elles seront illisibles, car elles nécessitent une sorte de “mot de passe” connu de votre ordinateur et du serveur pour être lues. 
-  : Emplacement des certificats par défaut de votre OS +  ; tls_certcheck on 
-  :: Ici, le chemin par défaut pour Debian, donc compatible Ubuntu. +  ; tls_trust_file /etc/ssl/certs/ca-certificates.crt 
-  ? account gmail +  : permettent d’indiquer ou sont situés les certificats par défaut de votre OS, ici c’est le chemin par défaut sous Debian, donc compatible Ubuntu. 
-  : Compte que vous utiliserez pour envoyer vos mails. +  :: Définit une liste d'autorités de certification approuvées pour TLS
-  ? host smtp.gmail.com +  :: Par défaut, on utilise les paramètres système, mais vous pouvez sélectionner votre propre fichier.<code yaml >#tls_trust_file /etc/ssl/certs/ca-certificates.crt</code> 
-  : Serveur SMTP utilisé. +  :: Si vous sélectionnez votre propre fichiervous devez également utiliser la commande **tls_crl_file** pour vérifier les certificats révoqués, mais malheureusement, obtenir des listes de révocation et les tenir à jour n'est pas simple.<code yaml >#tls_crl_file ~/.tls-crls</code>
-  ? from %%***********%%@gmail.com +
-  : Indique l’origine du messagele nom de l’expéditeur. +
-  ? auth on\\ user %%********%%@gmail.com +
-  : active l’authentification utilisateur pour authentifier l’expéditeur du mail. +
-  :: Absolument nécessaire pour sécuriser l’envoi de mails. +
-  ? logfile /var/log/msmtp.log +
-  : Cette ligne permet de créer un fichier de log spécifique pour msmtp. +
-  ? account default : gmail +
-  : msmtp permet d’utiliser plusieurs comptes smtp. Vous devez en choisir un par défaut.+
  
 +  ; account gmail
 +  : Compte Gmail que vous utiliserez pour envoyer vos mails. Le fichier de configuration accepte plusieurs configurations de serveurs SMTP.
 +  ; host smtp.gmail.com
 +  : Nom d'hôte du serveur SMTP
 +  ; Au lieu de tls_trust_file/tls_crl_file,
 +  : vous pouvez utiliser tls_fingerprint pour épingler un seul certificat.
 +  :: Vous devez mettre à jour l'empreinte digitale lorsque le certificat du serveur change, mais un attaquant ne peut pas vous inciter à accepter un certificat frauduleux.
 +  :: Obtenez l'empreinte digitale avec <code yaml ># $ msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.freemail.example
 +#tls_fingerprint 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33</code>
 +  ; from prenom.nom@gmail.com
 +  : origine du message, adresse de l'expéditeur
  
-</WRAP> +Authentification 
- +  ; auth on 
- +  ; user prenom.nom@gmail.com 
-<WRAP center round tip 60%> +  : ces 2 paramètres activent l’authentification de lexpéditeur du mail. Absolument nécessaire pour sécuriser l’envoi de mails.
-<code yaml ~/.msmtprc> +
-# Définir une liste d'autorités de certification de confiance pour TLS. +
-#   Par défaut, on utilise les paramètres système, mais vous pouvez sélectionner votre propre fichier. +
-#tls_trust_file /etc/ssl/certs/ca-certificates.crt +
-#   Si vous sélectionnez votre propre fichier, +
-#   vous devez également utiliser la commande tls_crl_file pour vérifier les certificats révoqués, +
-#   mais malheureusement, il n'est pas simple d'obtenir des listes de révocation et de les tenir à jour. +
-#tls_crl_file ~/.tls-crls +
-tls_certcheck on +
-tls_trust_file /etc/ssl/certs/ca-certificates.crt +
- +
-# Un service Gmail +
-account gmail +
- +
-# Nom d'hôte du serveur SMTP +
-host smtp.gmail.com +
- +
-# Au lieu de tls_trust_file/tls_crl_file, vous pouvez utiliser tls_fingerprint pour épingler un seul certificat. +
-#   Vous devez mettre à jour l'empreinte digitale lorsque le certificat du serveur change, +
-#   mais un attaquant ne peut pas vous tromper pour que vous acceptiez un faux certificat. +
-#   Obtenez l'empreinte digitale avec +
-# $ msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.freemail.example +
-#tls_fingerprint 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33 +
- +
-# Adresse de l'expéditeur du mail +
-from ***********@gmail.com +
- +
-# Authentification. Le mot de passe est donné en utilisant l'une des cinq méthodes, voir ci-dessous. +
-auth on +
-user ********@gmail.com+
  
-# Mot de passe, méthode 1 +Le mot de passe est fourni en utilisant l'une de ces cinq méthodes 
-#   ajoutez le mot de passe au trousseau de clés système et laissez msmtp l'obtenir automatiquement. +  - Ajoutez le mot de passe au trousseau de clés du système et laissez msmtp l'obtenir automatiquement. Pour définir le mot de passe du trousseau de clés à l'aide de libsecret de Gnome :<code yaml ># $ secret-tool store --label=msmtp \
-#   Pour définir le mot de passe du trousseau de clés à l'aide de libsecret de Gnome : +
-# $ secret-tool store --label=msmtp \+
 # host smtp.freemail.example \ # host smtp.freemail.example \
 # service smtp \ # service smtp \
-# user joe.smith+# user joe.smith</code> 
 +  - Stockez le mot de passe dans un fichier chiffré et indiquez à msmtp la commande à utiliser pour le déchiffrer. Ceci se fait généralement avec GnuPG, comme dans cet exemple. Habituellement, gpg-agent demande une fois le mot de passe de décryptage.<code yaml >#passwordeval gpg2 --no-tty -q -d ~/.msmtp-password.gpg</code> 
 +  - Stocker le mot de passe directement dans ce fichier. En général, ce n'est pas une bonne idée de stocker les mots de passe dans des fichiers texte. Si vous le faites quand même, assurez-vous au moins que ce fichier ne peut être lu que par vous-même.<code yaml >password **************</code> 
 +  - Stocker le mot de passe dans ~/.netrc. Cette méthode n'est sans doute plus d'actualité. 
 +  - Ne pas spécifier de mot de passe. Msmtp vous le demandera alors. Cela signifie que vous devez pouvoir taper dans un terminal lorsque msmtp s'exécute.
  
-# Mot de passeméthode 2 : +Pour ce tutorielj’ai choisi la plus facile mais la moins sécurisée, c’est-à-dire la saisie directe du mot de passe en clair dans le fichier de configurationJe vous conseillerai plutôt une autre méthodela 1 où la 2 qui cache le mot de passe.
-#   Stockez le mot de passe dans un fichier chiffré et indiquez à msmtp quelle commande utiliser pour le déchiffrer. +
-#   Ceci est habituellement utilisé avec GnuPGcomme dans cet exemple. +
-#   Généralement, gpg-agent demandera une fois le mot de passe de décryptage. +
-#passwordeval gpg2 --no-tty -q -d ~/.msmtp-password.gpg+
  
-# Mot de passe, méthode 3 : +  password %%**************%% 
-  Enregistrez le mot de passe directement dans ce fichier. +  : méthode 3 : mot de passe en clair dans le fichier de configuration
-#   En général, ce n'est pas une bonne idée de stocker les mots de passe dans des fichiers texte. +
-#   Si vous le faites quand même, assurez-vous au moins que ce fichier ne peut être lu que par vous-même. +
-password ************** +
- +
-# Mot de passe, méthode 4 : Enregistrez le mot de passe dans ~/.netrc. Cette méthode n'est probablement plus pertinente. +
- +
-# Mot de passe, méthode 5 : Ne spécifiez pas de mot de passe. Msmtp vous le demandera alors. Cela signifie que vous devez pouvoir taper dans un terminal lorsque msmtp s'exécute. +
- +
-# Fichier journal +
-logfile /var/log/msmtp.log +
- +
-# Définir un compte par défaut +
-account default : gmail (10) +
-</code> +
-  ; port 587 +
-  : vous permet de spécifier un port d’envoi pour votre mail +
-  ; tls on +
-  : La connexion entre votre ordinateur et le serveur distant est chiffrée, ce qui signifie que si une personne arrive à intercepter les données, elles seront illisibles, car elles nécessitent une sorte de “mot de passe” connu de votre ordinateur et du serveur pour être lues. +
-  ; //tls_certcheck on// et //tls_trust_file /etc/ssl/certs/ca-certificates.crt// +
-  : permettent d’indiquer ou sont situés les certificats par défaut de votre OS, ici c’est le chemin par défaut sous Debian, donc compatible Ubuntu. +
-  ; account gmail +
-  : nom du compte que vous utiliserez pour envoyer vos mails. Le fichier de configuration accepte plusieurs configurations de serveurs SMTP. +
-  ; host smtp.gmail.com +
-  : nom du serveur SMTP utilisé. +
-  ; from %%***********%%@gmail.com +
-  : indique l’origine du message, le nom de l’expéditeur. +
-  ; auth on et user %%********%%@gmail.com +
-  : ces 2 paramètres activent l’authentification utilisateur pour authentifier l’expéditeur du mail. Absolument nécessaire pour sécuriser l’envoi de mails. +
-  ; Vous avez 5 possibilités pour la saisie du mot de passe. +
-  Pour ce tutoriel, j’ai choisi la plus facile mais la moins sécurisée, c’est-à-dire la saisie directe du mot de passe en clair dans le fichier de configuration. Je vous conseillerai plutôt une autre méthode, la 1 où la 2 qui cache le mot de passe.+
   ; logfile /var/log/msmtp.log   ; logfile /var/log/msmtp.log
-  : Cette ligne permet de créer un fichier de log spécifique pour l’application msmtp.+  : Fichier journal. Cette ligne permet de créer un fichier de log spécifique pour l’application msmtp.
   ; account default : gmail   ; account default : gmail
-  : msmtp permet d’utiliser plusieurs comptes smtp. Vous devez en choisir un par défaut. +  : Définir un compte par défaut 
-</WRAP>+  :: msmtp permet d’utiliser plusieurs comptes smtp. Vous devez en choisir un par défaut.
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
 Si vous voulez configurer l’envoi de courriels au niveau d’un utilisateur seulement, créez le fichier **~/.msmtprc** dans le dossier personnel de l’utilisateur concerné pour y écrire le même contenu. Si vous voulez configurer l’envoi de courriels au niveau d’un utilisateur seulement, créez le fichier **~/.msmtprc** dans le dossier personnel de l’utilisateur concerné pour y écrire le même contenu.
 </WRAP> </WRAP>
-  - Ajoutez une section pour chaque FAI désiré en plus : 
-    * **Exemple pour gmail** :<code txt ~/.msmtprc> 
-# nom du compte 
-account gmail 
  
-# Valeurs par défaut pour tous les comptes suivants. 
-defaults 
- 
-# serveur SMTP utilisé 
-host smtp.gmail.com 
- 
-# Port d’envoi pour votre mail : 587 au lieu du port SMTP 25. 
-port 587 
- 
-# Toujours utiliser le protocole TLS. 
-#    La connexion entre votre ordinateur et le serveur distant est chiffrée, 
-#    ce qui signifie que si une personne arrive à intercepter les données, elles seront illisibles, 
-#    car elles nécessitent une clé connue de votre ordinateur et du serveur pour être lues. 
-tls on 
-tls_starttls on 
- 
-tls_certcheck on 
-# emplacement des certificats par défaut de votre OS 
-#    ici c’est le chemin par défaut à base de Debian, donc compatible Ubuntu. 
-tls_trust_file /etc/ssl/certs/ca-certificates.crt 
- 
-# Authentification de l'expéditeur du mail 
-auth on 
-user expediteur 
-# mot de passe en clair dans le fichier de configuration 
-password ************** 
- 
-passwordeval gpg --no-tty -q -d ~/.msmtp-password.gpg 
- 
-# Adresse de l'expéditeur 
-from prenom.nom@gmail.com 
- 
-# Fichier journal spécifique pour l’application msmtp 
-logfile /var/log/msmtp.log (9) 
- 
-# Définir un compte par défaut (msmtp permet d’utiliser plusieurs comptes smtp) 
-account default : gmail 
-</code> 
     * **exemple pour smtp.free.fr** :<code - ~/.msmtprc>     * **exemple pour smtp.free.fr** :<code - ~/.msmtprc>
 # exemple de compte avec free # exemple de compte avec free
Ligne 333: Ligne 299:
 Vérifier que les mails sont bien partis en regardant le contenu de la file d'attente : Vérifier que les mails sont bien partis en regardant le contenu de la file d'attente :
  
 +??? message d'erreur : send-mail: impossible d'écrire dans le journal /var/log/msmtp.log : erreur d'ouverture de fichier: Permission non accordée
 +!!! le fichier est à renommer et à créer avec les droits pertinents : modifier dans .msmtprc la ligne  :<code - >logfile /var/log/msmtp</code>
 +il est nécessaire de créer le fichier de log , accessible par msmtp :<cli prompt='$ '>...@...:~ $ sudo groups msmtp
 +...@...:/var/log $ sudo touch /var/log/msmtp
 +...@...:/var/log $ sudo chown msmtp:msmtp /var/log/msmtp 
 +...@...:/var/log $ sudo chmod 660 /var/log/msmtp
 +</cli>
 ===== Désinstallation ===== ===== Désinstallation =====
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
 +  * **(fr)** [[https://doc.ubuntu-fr.org/msmtp]]
   * **(fr)** [[https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande]]   * **(fr)** [[https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande]]
   * **(fr)** [[https://quick-tutoriel.com/installer-un-client-smtp-sous-linux/]]   * **(fr)** [[https://quick-tutoriel.com/installer-un-client-smtp-sous-linux/]]
   * **(en)** [[http://msmtp.sourceforge.net/]]   * **(en)** [[http://msmtp.sourceforge.net/]]
   * **(en)** [[https://marlam.de/msmtp/msmtp.pdf]]   * **(en)** [[https://marlam.de/msmtp/msmtp.pdf]]
 +  * **(fr)** [[http://blogettrux.free.fr/index.php?2020/11/23/22/00/09-config-msmtp]]
  
 ---- ----
 //Basé sur << [[https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|Comment envoyer un courriel par smtp en ligne de commande]] >> par doc.ubuntu-fr.org.// //Basé sur << [[https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|Comment envoyer un courriel par smtp en ligne de commande]] >> par doc.ubuntu-fr.org.//