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 10:59]
enicar [Mutt]
utilisateurs:enicar:tutos:mutt-msmtp-multi-comptes [15/11/2019 21:48]
enicar [Mutt]
Ligne 1: Ligne 1:
-====== Mutt + msmtp multi-comptes ====== 
  
-  * Objet : Configuration de Mutt et de msmtp pour pouvoir gérer l'​envoie de plusieurs comptes depuis Mutt. 
-  * Niveau requis : avisé ​ 
-  * Voir aussi : 
  
-===== Introduction ===== 
-Comment paramétrer **mutt** et **msmtp** pour pouvoir envoyer des emails 
-provenant deux adresses mails différentes ? 
-C'est la question à laquelle je propose deux solutions. ne seront 
-abordés ici que les options qui permettent de gérer plusieurs comptes 
-dans **mutt**. 
  
-===== Msmtp ===== 
-Commençons par la configuration de **msmtp**. Je propose l'​exemple suivant 
-avec deux comptes hypothétiques. Le fichier de configuration de  
-**msmtp** doit se trouver dans le **HOME** de l'​utilisateur et 
-s'​appelle **.msmtprc**. Je propose la configuration suivante : 
-<​code>​ 
-defaults 
-# on demande un log des transactions smtp. Le répertoire 
-# ~/Mail doit exister ! 
-logfile ~/​Mail/​msmtp.log 
  
-# 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, 
-# toutefois, pas d'​espaces dans ce nom ! 
-account user1 
-# host définit le relais smtp à utiliser. 
-host smtp.truc.fr 
-# from est l'​adresse email 
-from nom1@truc.fr 
-# ici on demande une authentification 
-auth on 
-# le user doit correspondre à la partie avant l'@ de l'​adresse mail. 
-user nom1 
-# on utilise tls. 
-tls on 
-# le port par défaut quand on utilise tls est 465 dans msmtp. 
-# ce n'est pas celui qui est tout le temps utilisé. Le port 
-# 587 est très courant aussi. 
-port 587 
-password XXXXXXX 
-tls_trust_file /​etc/​ssl/​certs/​ca-certificates.crt 
  
-# ici on désigne ce premier compte comme étant celui par défaut+===== Petites bidouilles pour débugger ===== 
-# C'est celui-ci ​que msmtp utilisera quand aucun compte n'aura pas été  +Je propose maintenant un petit truc qui permet de voir comment 
-# demandé en particulier. (cf la suite).+**msmtp** est appeléPour cela nous allons faire un petit 
 +script en shell que j'appelle **mysendmail** : 
 +<code bash>
  
-account default :user1 +#! /bin/sh 
- +if ! [ -d ~/tmp ]; then 
-# on définit un second compte : +    mkdir -m 0700 tmp 
-account user2 +fi 
-host smtp.machin.fr +echo $>​~/​tmp/​params.txt 
-from  nom2@machin.fr +cat >​~/​tmp/​message.txt 
-auth off +
-# Quand l'​athentification est désactivé l'​option user est inutilisée. +
-#user nom2 +
-# le port 25 est le port par défaut quand n'​utilise pas tls +
-port 25+
 </​code>​ </​code>​
-<note tip> 
-Pour connaître le port utiliser, on peut tester en lançant msmtp comme suit : 
-<code user>​msmtp --serverinfo --tls --tls-certcheck=off --host smtp.truc.fr --port 587</​code>​ 
  
-Si msmtp ne répond pas arrêter ​le en appuyant sur ctrl-C+Ce shell script peut être placé dans le **HOME**
-Sinon, cela permet de voir les fonctionnalités acceptées par +Voici ce qu'on y fait : 
-le serveur mailVous pouvez tester les ports 465 et 25 avec +  * On crée un répertoire **~/tmp** s'il n'​existait pas
-ou non le tls. +  * On sauvegarde les paramètres passés dans le fichier **~/tmp/​params.txt** 
-</note> +  ​On sauvegarde le mail dans **~/​tmp/​message.txt**
-===== Mutt ===== +
-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.+
  
-==== Solution 1 ==== 
-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 
-« account user1 » par exemple. Pour cela dans mutt nous allons 
-utiliser la variable **sendmail** ​ qui permet de demander à mutt 
-d'​utiliser un autre programme que **/​usr/​bin/​sendmail** 
-Donc voici l'​extrait du **.muttrc** qui nous intéresse. 
-<​code>​ 
-set sendmail='/​usr/​bin/​msmtp -a default'​ 
-set use_from='​yes'​ 
  
-# On définit deux variables pour éviter les fautes ​de frappes. +Et c'est tout. Autant dire tout de suite qu'​avec ce script, vous 
-# correspond au from du account user1 +n'enverrez aucun mail !
-set my_address_one='​nom1@truc.fr'+
  
-# correspond au from du account user2 
-set my_address_two='​nom2@machin.fr'​ 
  
-set realname='Prénom Nom+Ensuite, pour l'​utiliser avec **mutt** on va rendre ce script exécutable : 
-set from=$my_address_one+<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**.
  
-# On déclare les adresses mails qui sont les notres. Ça 
-# de s'​envoyer des emails à soi même quand on répond à tous 
-# aux mails avec plusieurs contacts. Cela permet aussi 
-# de faire des recherches sur nos propres mails ou l'​inverse. 
-alternates="​$my_address_one|$my_address_two"​ 
  
-# on utilise le send2-hook qui est évalué dès qu'on édite ​un nouveau ​mail +À partir de là, chaque que vous enverrez ​un mail dans **mutt**, c'​est ​ 
-# ou que l'on change l'​adresse du from dans le menu compose ici +le script **mysendmail** qui sera appelé. Vous pourrez voir ainsi 
-# grâce à ce hook on change ​la variable sendmail. On peut aussi +les paramètres passés au script ainsi que la façon dont mutt a  
-# changer plusieurs variables+formé le mailVous pourrez alors expérimenté ce que ça fait de 
-send2-hook "~f $my_address_one"​ "set sendmail='/​usr/​bin/​msmtp -a default'" +changé l'option **use_envelope_from**. C'est sympa de le voir par 
-send2-hook "~f $my_address_two"​ "set '​sendmail=/​usr/​bin/​msmtp -a user2'"​+soi-même.
  
-# Pour changer ​l'adresse du from dans le menu compose on crée deux macros+<note important>​N'​oubliez pas de rétablir ​l'option **sendmail** après 
-# de cette façon il suffit de taper « <esc1 » pour utiliser la première ​ +vos expériences. Sinonplus aucuns mails ne seront envoyé, et vous 
-# adresse et « <esc> 2 » pour la seconde. +vous demanderez pourquoi personne ne vous répond :-D 
-macro compose ​<esc>1 "<esc>f^U$realname <​$my_address_one>"​ +</note> 
-macro compose ​<esc>2 "<​esc>​f^U$realname <​$my_address_two>"​ + 
-</​code>​ +Une autre chose que vous pouvez tester, c'est la valeur, de la 
-Dans le **send2-hook** la première chaîne (**~f $my_address_one** par exemple) est +variable **sendmail** dans mutt lorsque vous utiliser la //Solution 1//. 
-un motif de recherche. Le **~f** demande à **mutt** ​de faire une correspondance +Dans mutt pour connaître ​la valeur d'une variable, il suffit ​ 
-avec le champ **from** du mailLe reste est une expression rationnelle,​ +de taper <key>:</keypour passer en mode commande. Là une ligne 
-mais on utilisera une chaîne simple. J'ai lu une doc où il utilisait +apparaît en bas de l'​écran,​ puis vous tapez : 
-**~e** à la place de **~f**Avec **~e** ​la correspondance est cherchée +<code>set ?sendmail</​code>​ 
-par rapport à l'​expéditeur (c'est à dire le champ **send**) qui peut +La commande ​**set** permet non seulement de fixer la valeur d'une variable 
-être différent de **from**. Mais on s'en contentera car les essais +mais aussi de connaître la valeur ​de cette variablePour obtenir la 
-que j'ai fait avec **~e** se sont révélés infructueux.+valeur d'​une ​variable ​il suffit de précéder le nom de la variable par 
 +un point d'​interrogation. 
 + 
 + 
 +De cette façon vous pourrez vérifier ​la valeur des variables 
 +**sendmail** et **from** ​(pour la //Solution 2//) facilement.
  
  

Pied de page des forums

Propulsé par FluxBB