logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
Prochaine révision Les deux révisions suivantes
utilisateurs:enicar:tutos:mutt-msmtp-multi-comptes [18/08/2017 01:11]
enicar [Petites bidouilles pour débugger]
utilisateurs:enicar:tutos:mutt-msmtp-multi-comptes [23/08/2017 17:12]
enicar [Msmtp]
Ligne 12: Ligne 12:
 dans les deux… Donc soyez attentif ! dans les deux… Donc soyez attentif !
  
 +<note tip>
 +Des commentaires sont présents dans les fichiers de configurations. Ils sont là à titre
 +d'​information et d'​explication. Lisez-les. ​
 +</​note>​
 ===== Msmtp ===== ===== Msmtp =====
 Commençons par la configuration de **msmtp**. Je propose l'​exemple suivant Commençons par la configuration de **msmtp**. Je propose l'​exemple suivant
Ligne 22: Ligne 26:
 # ~/Mail doit exister ! # ~/Mail doit exister !
 logfile ~/​Mail/​msmtp.log logfile ~/​Mail/​msmtp.log
 +tls_trust_file /​etc/​ssl/​certs/​ca-certificates.crt
  
 # un premier compte, le nom qui suit le mot account est libre # un premier compte, le nom qui suit le mot account est libre
 # c'est juste la désignation du compte pour msmtp. On ne mettra, # c'est juste la désignation du compte pour msmtp. On ne mettra,
 # toutefois, pas d'​espaces dans ce nom ! # toutefois, pas d'​espaces dans ce nom !
-account ​user1+account ​compte_nom1
 # host définit le relais smtp à utiliser. # host définit le relais smtp à utiliser.
 host smtp.truc.fr host smtp.truc.fr
Ligne 33: Ligne 38:
 # ici on demande une authentification # ici on demande une authentification
 auth on auth on
-# le user doit correspondre à la partie avant l'@ de l'​adresse mail.+# le user doit correspondre ​en principe ​à la partie avant l'​@ ​ 
 +de l'​adresse mail, mais ce n'est pas toujours le cas.
 user nom1 user nom1
 # on utilise tls. # on utilise tls.
Ligne 42: Ligne 48:
 port 587 port 587
 password XXXXXXX password XXXXXXX
-tls_trust_file /​etc/​ssl/​certs/​ca-certificates.crt 
  
 # ici on désigne ce premier compte comme étant celui par défaut. # ici on désigne ce premier compte comme étant celui par défaut.
Ligne 48: Ligne 53:
 # demandé en particulier. (cf la suite). # demandé en particulier. (cf la suite).
  
-account default :user1+account default :compte_nom1
  
 # on définit un second compte : # on définit un second compte :
-account ​user2+account ​compte_nom2
 host smtp.machin.fr host smtp.machin.fr
 from  nom2@machin.fr from  nom2@machin.fr
Ligne 72: Ligne 77:
 <note warning>​Les mots de passe doivent être stockés en clair dans le ficher **.msmtprc**. <note warning>​Les mots de passe doivent être stockés en clair dans le ficher **.msmtprc**.
 Normalement **msmtp** est capable de demander le mot de passe quand nécessaire,​ mais Normalement **msmtp** est capable de demander le mot de passe quand nécessaire,​ mais
-quand on l'​utilise depuis **mutt** ce n'est pas possible. ​Je ne connais pas de solution à +quand on l'​utilise depuis **mutt** ce n'est pas possible. ​Il faut pour 
-ce problème.</​note>​+ce faire utiliser une autre option : passwordeval qui permet de lancer 
 +une commande qui va afficher le mot de passe sur la sortie standard. 
 +((Voir  
 +[[https://​wiki.archlinux.org/​index.php/​Msmtp#​Password_managemen|ici]] 
 +pour savoir comment faire.)) 
 +</​note>​
  
 ===== Mutt ===== ===== Mutt =====
 Bon passons à la configuration de **mutt**. Je ne décris ici que les quelques Bon passons à la configuration de **mutt**. Je ne décris ici que les quelques
 options qui nous intéressent pour l'​envoi des mails avec plusieurs comptes. options qui nous intéressent pour l'​envoi des mails avec plusieurs comptes.
 +
 +<note important>​Lorsque vous modifiez des options dans le fichier de configuration
 +de **mutt** (**.muttrc**),​ pensez à quitter **mutt** et à le relancer. Sinon
 +ce sont les anciens réglages qui resteront effectifs.
 +</​note>​
  
 ==== Solution 1 ==== ==== Solution 1 ====
 On va utiliser l'​option **-a** de **msmtp** qui permet de désigner le compte On va utiliser l'​option **-a** de **msmtp** qui permet de désigner le compte
 à utiliser pour l'​envoi du mail. C'est le nom du compte désigner par à utiliser pour l'​envoi du mail. C'est le nom du compte désigner par
-« account ​user1 » par exemple. Pour cela dans mutt nous allons+« account ​compte_nom1 ​» par exemple. Pour cela dans mutt nous allons
 utiliser la variable **sendmail** ​ qui permet de demander à mutt utiliser la variable **sendmail** ​ qui permet de demander à mutt
 d'​utiliser un autre programme que **/​usr/​bin/​sendmail** d'​utiliser un autre programme que **/​usr/​bin/​sendmail**
Ligne 91: Ligne 106:
  
 # On définit deux variables pour éviter les fautes de frappes. # On définit deux variables pour éviter les fautes de frappes.
-# correspond au from du account ​user1+# correspond au from de .msmtprc de  « account ​compte_nom1 »
 set my_address_one='​nom1@truc.fr'​ set my_address_one='​nom1@truc.fr'​
  
-# correspond au from du account ​user2+# correspond au from de .msmtprc de « account ​compte_nom2 »
 set my_address_two='​nom2@machin.fr'​ set my_address_two='​nom2@machin.fr'​
  
 set realname='​Prénom Nom' set realname='​Prénom Nom'
 +
 +# Correspond à  « account ​ default » dans .msmtprc, dans notre cas
 +# c'est aussi « account compte_nom1 »
 set from=$my_address_one set from=$my_address_one
  
-# On déclare les adresses mails qui sont les notres. Ça+# On déclare les adresses mails qui sont les notres. Ça évite
 # de s'​envoyer des emails à soi même quand on répond à tous # de s'​envoyer des emails à soi même quand on répond à tous
 # aux mails avec plusieurs contacts. Cela permet aussi # aux mails avec plusieurs contacts. Cela permet aussi
 # de faire des recherches sur nos propres mails ou l'​inverse. # de faire des recherches sur nos propres mails ou l'​inverse.
-alternates="$my_address_one|$my_address_two"​+# Je pense qu'on ne peut pas utiliser des variables ici… 
 +alternates ​^nom1@truc.fr^nom2@machin.fr$ 
 + 
 +# Pour répondre avec la bonne adresse (utilise alternates) 
 +set reverse_name='​yes'​
  
 # on utilise le send2-hook qui est évalué dès qu'on édite un nouveau mail # on utilise le send2-hook qui est évalué dès qu'on édite un nouveau mail
-# ou que l'on change l'​adresse du from dans le menu compose ici+# ou que l'on change l'​adresse du  dans le menu compose ici
 # grâce à ce hook on change la variable sendmail. On peut aussi # grâce à ce hook on change la variable sendmail. On peut aussi
 # changer plusieurs variables. # changer plusieurs variables.
 send2-hook "~f $my_address_one"​ "set sendmail='/​usr/​bin/​msmtp -a default'"​ send2-hook "~f $my_address_one"​ "set sendmail='/​usr/​bin/​msmtp -a default'"​
-send2-hook "~f $my_address_two"​ "set '​sendmail=/​usr/​bin/​msmtp -a user2'"​+send2-hook "~f $my_address_two"​ "set '​sendmail=/​usr/​bin/​msmtp -a compte_nom2'"​
  
 # Pour changer l'​adresse du from dans le menu compose on crée deux macros, # Pour changer l'​adresse du from dans le menu compose on crée deux macros,
Ligne 124: Ligne 146:
 mais on utilisera une chaîne simple. ​ mais on utilisera une chaîne simple. ​
  
-J'ai lu une doc où il utilisait+J'ai lu une doc où ils utilisaient
 **~e** à la place de **~f**. Avec **~e** la correspondance est cherchée **~e** à la place de **~f**. Avec **~e** la correspondance est cherchée
-par rapport à l'​expéditeur ​(c'est à dire le champ **send**) ​qui peut +par rapport à l'​expéditeur qui peut être différent ​du **from** ​du mailLes essais 
-être différent ​de **from**. ​Mais on s'en contentera car les essais +que j'​ai ​réalisé ​avec **~e** se sont révélés infructueux, on utilisera donc **~f**.
-que j'​ai ​fait avec **~e** se sont révélés infructueux.+
  
  
Ligne 136: Ligne 157:
 **mutt**. **mutt**.
 Cela combiné avec l'​utilisation de l'​option de **mutt**, Cela combiné avec l'​utilisation de l'​option de **mutt**,
-**envelope_from**+**use_envelope_from**
 va permettre d'​appeler **msmtp** avec les paramètres suivant : va permettre d'​appeler **msmtp** avec les paramètres suivant :
 <code user> <code user>
Ligne 165: Ligne 186:
 (**.msmtprc**). Ce dernier point est très important, attention aux (**.msmtprc**). Ce dernier point est très important, attention aux
 fautes de frappe !</​note>​ fautes de frappe !</​note>​
 +
 +Pour générer la commande :
 +<code user>
 +    msmtp -f adresse_expéditeur -- adresse_destinataire
 +</​code>​
 +**mutt** se sert de sa variable **from** pour **adresse_expéditeur**,​
 +et non du **from** du mail.
  
 Voici, l'​extrait du **.muttrc** que je propose : Voici, l'​extrait du **.muttrc** que je propose :
Ligne 170: Ligne 198:
 set sendmail='/​usr/​bin/​msmtp'​ set sendmail='/​usr/​bin/​msmtp'​
 set use_from='​yes'​ set use_from='​yes'​
-set envelope_from='​yes'​+set use_envelope_from='​yes'​
  
 # On définit deux variables pour éviter les fautes de frappes. # On définit deux variables pour éviter les fautes de frappes.
-# correspond au from du account ​user1+# correspond au from de .msmtpcrc de « account ​compte_nom1 »
 set my_address_one='​nom1@truc.fr'​ set my_address_one='​nom1@truc.fr'​
  
-# correspond au from du account ​user2+# correspond au from de .msmtprc de « account ​compte_nom2 »
 set my_address_two='​nom2@machin.fr'​ set my_address_two='​nom2@machin.fr'​
  
 set realname='​Prénom Nom' set realname='​Prénom Nom'
 +# Correspond au « account default » dans .msmtprc, dans notre cas
 +# c'est aussi  « account compte_nom1 »
 set from=$my_address_one set from=$my_address_one
  
-# On déclare les adresses mails qui sont les notres. Ça+# On déclare les adresses mails qui sont les notres. Ça évite
 # de s'​envoyer des emails à soi même quand on répond à tous # de s'​envoyer des emails à soi même quand on répond à tous
 # aux mails avec plusieurs contacts. Cela permet aussi # aux mails avec plusieurs contacts. Cela permet aussi
 # de faire des recherches sur nos propres mails ou l'​inverse. # de faire des recherches sur nos propres mails ou l'​inverse.
-alternates="$my_address_one|$my_address_two"​+# Je pense qu'on ne peut pas utiliser des variables ici… 
 +alternates ​^nom1@truc.fr^nom2@machin.fr$ 
 + 
 +# Pour répondre avec la bonne adresse (utilise alternates) 
 +set reverse_name='​yes'​ 
  
 # on utilise le send2-hook qui est évalué dès qu'on édite un nouveau mail # on utilise le send2-hook qui est évalué dès qu'on édite un nouveau mail
Ligne 202: Ligne 237:
  
 Peu de choses ont changé par rapport à la première solution. Peu de choses ont changé par rapport à la première solution.
-La variable **sendmail = /​usr/​bin/​msmtp** sans options supplémentaires. +La variable **sendmail = /​usr/​bin/​msmtp** ​est sans options supplémentaires. 
-L'​option **envelope_from** est positionnée à **yes** , c'est ce qui permet+L'​option **use_envelope_from** est positionnée à **yes** , c'est ce qui permet
 d'​appeler **msmtp** ​ avec la commande **msmtp -f expéditeur -- d'​appeler **msmtp** ​ avec la commande **msmtp -f expéditeur --
 destinataire**. destinataire**.
Ligne 213: Ligne 248:
 **msmtp**.</​note>​ **msmtp**.</​note>​
  
-Et enfin, le  **send2-hook** où on utilise **~e** et non **~f**.+Et enfin, le  **send2-hook** où l'on utilise **~e** et non **~f**.
 Aussi on fixe le **from** de mutt. Aussi on fixe le **from** de mutt.
  
Ligne 240: Ligne 275:
 ===== Petites bidouilles pour débugger ===== ===== Petites bidouilles pour débugger =====
 Je propose maintenant un petit truc qui permet de voir comment Je propose maintenant un petit truc qui permet de voir comment
-**msmtp** est appeler. Pour cela nous allons faire un petit+**msmtp** est appelé. Pour cela nous allons faire un petit
 script en shell que j'​appelle **mysendmail** : script en shell que j'​appelle **mysendmail** :
 <code bash> <code bash>
Ligne 253: Ligne 288:
  
 Ce shell script peut être placé dans le **HOME**. Ce shell script peut être placé dans le **HOME**.
-Voci ce qu'on y fait : +Voici ce qu'on y fait : 
-* On crée un répertoire **~/tmp** s'il n'​existait pas. +  * On crée un répertoire **~/tmp** s'il n'​existait pas. 
-* On sauvegarde les paramètres passés dans le fichier ~/​tmp/​params.txt +  * On sauvegarde les paramètres passés dans le fichier ​**~/​tmp/​params.txt** 
-* On sauvegarde le mail dans ~/​tmp/​message.txt+  * On sauvegarde le mail dans **~/​tmp/​message.txt**
  
  
Ligne 263: Ligne 298:
  
  
-Ensuite, pour l'​utiliser avec **mutt** on remplace toute les +Ensuite, pour l'​utiliser avec **mutt** ​on va rendre ce script exécutable : 
-occurrences de **sendmail='/​usr/​bin/​msmtp'​** par+<code user> 
 +chmod u+x ~/​mysendmail  
 +</​code>​ 
 +Puis on remplace toute les occurrences de **sendmail='/​usr/​bin/​msmtp'​** par
 **sendmail='​~/​mysendmail** dans le fichier **.muttrc**. **sendmail='​~/​mysendmail** dans le fichier **.muttrc**.
  
Ligne 272: Ligne 310:
 les paramètres passés au script ainsi que la façon dont mutt a  les paramètres passés au script ainsi que la façon dont mutt a 
 formé le mail. Vous pourrez alors expérimenté ce que ça fait de formé le mail. Vous pourrez alors expérimenté ce que ça fait de
-changé l'​option **envelope_from**. C'est sympa de le voir par+changé l'​option **use_envelope_from**. C'est sympa de le voir par
 soi-même. soi-même.
  
Ligne 287: Ligne 325:
 <​code>​set ?​sendmail</​code>​ <​code>​set ?​sendmail</​code>​
 La commande **set** permet non seulement de fixer la valeur d'une variable La commande **set** permet non seulement de fixer la valeur d'une variable
-et aussi de connaître la valeur de cette variable. Pour obtenir la+mais aussi de connaître la valeur de cette variable. Pour obtenir la
 valeur d'une variable il suffit de précéder le nom de la variable par valeur d'une variable il suffit de précéder le nom de la variable par
 un point d'​interrogation. un point d'​interrogation.

Pied de page des forums

Propulsé par FluxBB