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 →
Ci-dessous, les différences entre deux révisions de la page.
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:45] enicar [Msmtp] |
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 | ||
+ | mkdir -m 0700 tmp | ||
+ | fi | ||
+ | echo $@ >~/tmp/params.txt | ||
+ | cat >~/tmp/message.txt | ||
+ | </code> | ||
- | # on définit un second compte : | + | Ce shell script peut être placé dans le **HOME**. |
- | account user2 | + | Voici ce qu'on y fait : |
- | host smtp.machin.fr | + | * On crée un répertoire **~/tmp** s'il n'existait pas. |
- | from nom2@machin.fr | + | * On sauvegarde les paramètres passés dans le fichier **~/tmp/params.txt** |
- | auth off | + | * On sauvegarde le mail dans **~/tmp/message.txt** |
- | # 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 | + | Et c'est tout. Autant dire tout de suite qu'avec ce script, vous |
- | port 25 | + | n'enverrez aucun mail ! |
+ | |||
+ | |||
+ | Ensuite, pour l'utiliser avec **mutt** on va rendre ce script exécutable : | ||
+ | <code user> | ||
+ | chmod u+x ~/mysendmail | ||
</code> | </code> | ||
- | <note tip> | + | Puis on remplace toute les occurrences de **sendmail='/usr/bin/msmtp'** par |
- | Pour connaître le port utiliser, on peut tester en lançant msmtp comme suit : | + | **sendmail='~/mysendmail** dans le fichier **.muttrc**. |
- | <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. | + | |
- | Sinon, cela permet de voir les fonctionnalités acceptées par | + | À partir de là, chaque que vous enverrez un mail dans **mutt**, c'est |
- | le serveur mail. Vous pouvez tester les ports 465 et 25 avec | + | le script **mysendmail** qui sera appelé. Vous pourrez voir ainsi |
- | ou non le tls. | + | 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 **use_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> | </note> | ||
- | ===== Mutt ===== | + | |
+ | Une autre chose que vous pouvez tester, c'est la valeur, de la | ||
+ | variable **sendmail** dans mutt lorsque vous utiliser la //Solution 1//. | ||
+ | Dans mutt pour connaître la valeur d'une variable, il suffit | ||
+ | de taper <key>:</key> pour passer en mode commande. Là une ligne | ||
+ | apparaît en bas de l'écran, puis vous tapez : | ||
+ | <code>set ?sendmail</code> | ||
+ | La commande **set** permet non seulement de fixer la valeur d'une variable | ||
+ | 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 | ||
+ | un point d'interrogation. | ||
+ | |||
+ | |||
+ | De cette façon vous pourrez vérifier la valeur des variables | ||
+ | **sendmail** et **from** (pour la //Solution 2//) facilement. | ||