|

Apps – MUTT

Je veux vous parler d’un héraut. Un héraut particulier qui m’accompagne depuis plusieurs années déjà.

Il est petit, efficace, fiable et facile d’utilisation.

Parlons peu, parlons bien, parlons MUTT !

MUTT est une solution de messagerie en mode console. Ce dernier est assez flexible, prend en charge un bon nombre des protocoles de messagerie et est super léger.

Ce que j’affectionne le plus dans cette solution, reste la rapidité de déploiement ainsi que sa simplicité de mise en place en tant que relai SMTP (en quasi moins de 5 minutes si je n’ai pas à chercher les identifiants et mots de passe).

What else ? Ba c’est tout, rien à ajouter votre honneur.

Je ne vais pas réinventer la multitude de post sur le sujet quant à l’implémentation de la solution. Je me limiterai uniquement à la configuration nécessaire à mon usage personnel, et nécessaire au bon fonctionnement de mes outils/scripts bash.

(Pour être efficient et ne pas dire fainéant, c’est surtout un mémo pour déployer rapidement mon relai de messagerie ou plus si affinité sans chercher tous les temps les arguments et ma configuration. 🙂 )

Prérequis

  • RHEL, Debian, Ubuntu
  • Mutt, cyrus-sasl-plain

Installation

Rechercher et installer les paquets suivants, mutt et cyrus-sasl-plain.

  • Le premier paquet permettra d’envoyer les mails via un relai smpt
  • Le second paquet permettra de prendre en charge l’authentification
$ sudo dnf search mutt
$ sudo search cyrus-sasl-plain
$ sudo dnf install mutt cyrus-sasl-plain 

Configuration

Relai SMTP

Pour la phase de configuration, la majorité des actions sont à réaliser en tant qu’utilisateur et non en tant que root.

/!\Attention : Pour rappel, les commandes en tant qu’utilisateur seront signalés avec $ et avec # en tant que root.

Renommez le fichier de configuration par défaut Muttrc :

$ sudo mv /etc/Muttrc /etc/Muttrc.ori

Editez le fichier de configuration Muttrc :

$ sudo vim /etc/Muttrc

Parcourons rapidement le fichier de configuration de MUTT

  • Set from : L’adresse utilisée lors de l’envoie du mail
  • Set realname : Le nom qui sera affiché
  • Set use_from : Actif
  • Set ssl_* : Désactivation du TLS car non pris en charge ce qui génére l’erreur 503 BadSequence
  • Set smtp_pass : Le password du compte à utiliser
  • Set smtp_url : L’url de connexion au relai smtp sous la forme «smtp://user@contoso.com:password@relaissmtp:587 »

Naturellement, la configuration est à adapter par vos soins, vous n’êtes pas obligé d’utiliser mutt non plus et donc de quitter ce billet.

J’ai choisi mutt car il me permet de générer des mails au format HTML. Bien avant de rencontrer et d’utiliser ce paquet, l’ensemble de mes mails était en texte brut (pour cela je passe par msmtp).

Les droits appliqués sur le fichier de configuration sont 655 root:root. Le password spécifié pour l’authentification à notre relai smtp est donc visible de tous les utilisateurs. C’est pas top…

Il est donc nécessaire de remédier à cela en retirant les droits sur le fichier pour les autres :

$ sudo chmod 650 /etc/Muttrc

Pour vérifier, un petit $ cat /etc/Muttrc en tant qu’utilisateur vous retournera l’un des plus beau message du monde, à la fois simple, clair et efficace. 😀

Test & Debug

Afin de vérifier le bon fonctionnement de notre configuration nous allons envoyer notre premier mail.

Dans un premier temps, générons un fichier dans /tmp/test_mutt contenant « Délivrez moi ce message de la plus haute importance, héraut ! »

$ vim /tmp/test_mutt

Délivrez moi ce message de la plus haute importance, héraut !

Entrez la commande suivante

$ sudo mutt -s "Message de la plus haute importance" erwanguillemard@gmail.com < /tmp/test_mutt

Regardons d’un peu plus près la commande que nous avons lancés. La présence du sudo semble étrange. En réalité non car j’ai durci mon SE :D, d’où l’élévation de privilège.

Le reste de la commande, un rapide –man nous renseigne sur l’ensemble des arguments disponible ainsi que les syntaxes supportées.

Dans notre cas :

  • -s : Indique l’objet du mail
  • adresse mail : l’adresse mail du, des destinataire(s)
  • < /path/file : le corps du mail contenu dans un fichier

Si un argument est manquant Mutt vous invitera à travers un menu contextuel en console à finaliser votre courrier (brave bête).

Si nous consultons notre BAL

Concernant la parti diagnostic et debug, j’ai tendance à dire que plusieurs choix s’offre à nous, d’abord le fichier de log maillog ou la commande de debug prévu à cette effet

$ sudo tail -f /var/log/maillog
et
$ sudo mutt -nd 5

Conclusion

Un rapide relai SMTP opérationnel en quelques minutes permettant de remettre les courriers qui seront envoyés uniquement par nos robots et services.

Le mot de la fin :

Le héraut est l’ancètre du Petit Travailleur Tranquille ? Que nenni mareau, je suis syndiqué !

Erwan GUILLEMARD

Sources