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 [17/08/2017 11:05]
enicar [Mutt]
utilisateurs:enicar:tutos:mutt-msmtp-multi-comptes [17/08/2017 12:12]
enicar [Petites bidouilles pour débugger]
Ligne 3: Ligne 3:
   * Objet : Configuration de Mutt et de msmtp pour pouvoir gérer l'​envoie de plusieurs comptes depuis Mutt.   * Objet : Configuration de Mutt et de msmtp pour pouvoir gérer l'​envoie de plusieurs comptes depuis Mutt.
   * Niveau requis : avisé ​   * Niveau requis : avisé ​
-  * Voir aussi : +  * Voir aussi : [[doc:​reseau:​mutt]]
 ===== Introduction ===== ===== Introduction =====
 Comment paramétrer **mutt** et **msmtp** pour pouvoir envoyer des emails Comment paramétrer **mutt** et **msmtp** pour pouvoir envoyer des emails
 provenant deux adresses mails différentes ? provenant deux adresses mails différentes ?
-C'est la question à laquelle je propose deux solutions. ​ne seront +C'est la question à laquelle je propose deux solutions. ​Mais je dois vous avertir, 
-abordés ici que les options ​qui permettent de gérer plusieurs comptes +je décris deux méthodes pour y arriver. C'est un peu alambiqué, car il faut que 
-dans **mutt**.+les deux logiciels coopèrent. En plus certaines ​options ​portent le même nom 
 +dans les deux… Donc soyez attentif !
  
 ===== Msmtp ===== ===== Msmtp =====
Ligne 125: Ligne 125:
  
  
-====Solution 2====+==== Solution 2 ====
 Cette fois-ci on ne va pas modifier la variable **sendmail**. On va utiliser Cette fois-ci on ne va pas modifier la variable **sendmail**. On va utiliser
 de nouveau **send2-hook** pour modifier la variable **from** de de nouveau **send2-hook** pour modifier la variable **from** de
Ligne 138: Ligne 138:
 qu'on a paramètré pour chaque compte, pour déterminer comment qu'on a paramètré pour chaque compte, pour déterminer comment
 il va envoyer le mail. il va envoyer le mail.
 +<note important>​Faites attention à ne pas confondre, les différents **from**. 
 +il y en a trois : 
 +  * le **from** du mail. 
 +  * celui du fichier dans le fichier **~/​.msmtprc** 
 +  * et enfin celui dans le fichier **~/​.muttrc** 
 +</​note>​
 Voici, l'​extrait du **.muttrc** que je propose : Voici, l'​extrait du **.muttrc** que je propose :
 <​code>​ <​code>​
Ligne 173: Ligne 178:
 macro compose <​esc>​2 "<​esc>​f^U$realname <​$my_address_two>"​ macro compose <​esc>​2 "<​esc>​f^U$realname <​$my_address_two>"​
 </​code>​ </​code>​
 +
 +Peu de choses ont changé par rapport à la première solution.
 +La variable **sendmail = /​usr/​bin/​msmtp** sans options supplémentaires.
 +L'​option **envelope_from** est positionnée à **yes** , c'est ce qui permet
 +d'​appeler **msmtp** ​ avec la commande **msmtp -f expéditeur --
 +destinataire**.
 +
 +<note important>​
 +**Mutt** utilise la variable **from** définit dans **.muttrc** (ou
 +dans ce cas la valeur que l'on donne dans **send2-hook**) et non le
 +champ **from** du mail pour fixer l'​expéditeur utiliser dans la commande ​
 +**msmtp**.</​note>​
 +
 +Et enfin, le  **send2-hook** où on utilise **~e** et non **~f**.
 +Aussi on fixe le **from** de mutt.
 +
 +
 +Ne me demander pas pourquoi, mais ici le **~e** fonctionne. Remarquez
 +que l'​avantage,​ c'est qu'on est pas obligé d'​avoir deux **send2-hook**.
 +Dans cette configuration,​ la variable **from** reprend sa valeur d'​origine
 +« toute seule », c'est un mystère supplémentaire car il est dit
 +dans la documentation que lorsqu'​on change une valeur avec un hook
 +sa valeur reste celle attribuée dans le hook. C'est pour cela
 +que quand on utilise les hook il faut en principe utiliser
 +un hook par défaut qui rétablit la ou les valeurs par défaut.
 +Ça fait deux mystères !
 +
 +C'est la méthode que je préfère, elle est plus légère.
 +
 +==== Conclusion ====
 +Bref, ces déboires avec le **~e** et **~f** sont peut-être un bug.
 +Je ne sais pas, je n'ai pas encore tout compris à ce sujet. Pour
 +info j'​utilise **NeoMutt** version 1.8.3 (du 09-06-2017). **NeoMutt**
 +est un Mutt amélioré avec notamment la possibilité d'​avoir une
 +barre latéralle pour naviguer entre les différentes BALs.
 +Peut-être que ces réglages sont spécifiques à la version de **mutt**
 +que j'​utilise.
 +
 +===== Petites bidouilles pour débugger =====
 +Je propose maintenant un petit truc qui permet de voir comment
 +**msmtp** est appeler. Pour cela nous allons faire un petit
 +script en shell que j'​appelle **mysendmail** :
 +<code bash>
 +
 +#! /bin/sh
 +if ! [ -d ~/tmp ]; then
 +    mkdir -m 0700 tmp
 +fi
 +echo $@ >​~/​tmp/​params.txt
 +cat >​~/​tmp/​message.txt ​
 +</​code>​
 +
 +Ce shell script peut être placé dans le **HOME**.
 +Voci ce qu'on y fait :
 +* 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 le mail dans ~/​tmp/​message.txt
 +
 +
 +Et c'est tout. Autant dire tout de suite qu'​avec ce script, vous
 +n'​enverrez aucun mail !
 +
 +
 +Ensuite, pour l'​utiliser avec **mutt** on remplace toute les
 +occurrences de **sendmail='/​usr/​bin/​msmtp'​** par
 +**sendmail='​~/​mysendmail** dans le fichier **.muttrc**.
 +
 +
 +À partir de là, chaque que vous enverrez un mail dans **mutt**, c'​est ​
 +le script **mysendmail** qui sera appelé. Vous pourrez voir ainsi
 +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
 +changé l'​option **envelope_from**. C'est sympa de le voir par
 +soi-même.
 +
 +<note important>​N'​oubliez pas de rétablir l'​option **sendmail** après
 +vos expériences. Sinon, plus aucuns mails ne seront envoyé, et vous
 +vous demanderez pourquoi personne ne vous répond :D
 +</​note>​
  
  

Pied de page des forums

Propulsé par FluxBB