Client mail léger pour connexion sécurisée à distance

Toujours dans l’optique d’une connexion itinérante que j’évoquais dans ce post,  je configure actuellement mon serveur (nommé mana sur mon réseau) et mon portable Thinkpad x220 à cette fin. L’idée est que je puisse recevoir et envoyer mon mail en passant par mon serveur de mail sendmail qui est gréé pour pouvoir gérer les spams et autres virus via SpamAssassin et ClamAV. En attendant de réfléchir  à la mise en place d’un tunnel sécurisé entre le serveur et mon portable via le net, je suis passé à une connexion sécurisée sur la base de SSL/TLS entre les machines clientes de mon réseau et mon serveur pour l’envoi de mail. Jusqu’à présent les échanges de connexion et les mails transitaient en clair sur mon réseau perso sur le port classique 587 du serveur SMTP sendmail. Je suis passé à SMTP avec SSL/TLS et le port 465. A voir par ici cela passe par la création d’un certificat pour le serveur de mail. Alors bien sûr ce certificat n’est strictement valable que sur mon réseau perso et n’est pas valide sur internet, mais ça n’a pas d’importance pour mon usage.

Comme client de messagerie léger, j’ai pensé évidemment à mutt. Mutt est fait pour les geeks, il n’y a pas d’interface graphique et tout se passe en ligne de commande dans un shell, il n’est même pas nécessaire d’avoir un environnement graphique !

Voici le fichier de configuration ~/.muttrc sur mon portable sur la base d’une connexion sécurisée via TLS/SSL en réception avec un serveur dovecot et en émission avec sendmail.

# configuration de base
set realname = "Olivier Hoarau"
set certificate_file =~/.mutt/certificates
set message_cachedir =~/.mutt/cache/bodies
set signature=~/signature.txt
set spoolfile = /var/spool/mail/$USER
set folder    = ~/mail
set tmpdir    = ~/tmp

# configuration POPs 
set pop_user = "olivier"
set pop_pass = "mot-de-passe"
set pop_delete = "no"
set pop_host = "pops://mana:995"
set pop_last = no 
unset ssl_verify_host

# configuration SMTPs
set smtp_url = "smtps://mana:465/"
set from = "olivier.hoarau@funix.org"
set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from

# locales FR pour les nom des jours et mois
set locale="fr_FR"

# Format de date
set date_format="%A %d %b %Y à %H:%M:%S (%Z)"

# phrase d'intro pour réponse quotée
set attribution="Le %d, %n a écrit :"
set forward_format="[Fwd: %s]"
set forward_quote

#
mailboxes !

#Editeur
set edit_hdrs
alternative_order text/plain text/html
auto_view text/html

color attachment magenta default            # attachments
color body brightred default "(ftp|http)://[^ ]+"       # point out URLs
color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
color bold brightblue default               # boldface text
color error brightwhite red                 # error messages
color hdrdefault magenta default            # default color of message header
color header brightmagenta default ^(From): # From and Subject header
color header brightwhite default ^(Subject): # From and Subject header
color header brightwhite default ^(Date): # Date header
color header white default ^(In-Reply-To):
color indicator brightred default                   # indicator bar
color markers brightblue default            # wrapped line markers (+)
color message brightblack green             # status messages
color normal default default                # default
color quoted yellow default                 # quoted text, 1st quote level
color quoted1 green default                 # quoted text, 2nd quote level
color quoted2 brightblue default            # quoted text, 3rd quote level
color quoted3 blue default                  # quoted text, 4th quoet level
color search black yellow                   # matched search patterns in pager
color signature red default                 # the signature (after sigdashes)
color status default blue                   # status lines
color tilde brightblue default              # ``~'' used to pad blank lines
color tree green default                    # thread tree in the index menu
color underline brightgreen default         # underlined text


# Pour la gestion des accents
set locale="utf-8"

set pager_index_lines=7
set pager_stop

ensuite toujours sur le poste client on crée un fichier ~/.mailcap qui va permettre de gérer les pièces jointes en faisant appel à des programmes tiers pour l’affichage. Ainsi pour le code HTML on pourra le visualiser via firefox ou dans un shell via elinks (qu’il faudra installer préalablement). Pour les images, elles seront visualisées via geeqie mais on pourrait aussi bien mettre feh ou gimp. Voici son contenu:

text/html;  firefox %s >/dev/null 2>&1; needsterminal
text/html;  elinks -dump %s; nametemplate=%s.html; copiousoutput

# PDF
application/pdf; okular %s; description=PDF Document; nametemplate=%s.pdf # copiousoutput;

# IMAGE
image/jpeg; gqview %s; description=JPEG Image; nametemplate=%s.jpg # copiousoutput;
image/png; gqview %s; description=PNG Image; nametemplate=%s.png # copiousoutput;

on crée ensuite ce fichier

touch /var/spool/mail/olivier

on l’attribue à l’utilisateur olivier

chown olivier:hoarau olivier

maintenant dans ma homedirectory je crée le répertoire

mkdir ~/.mutt

et on crée ce fichier qui contiendra les certificats de dovecot et de sendmail.

touch .mutt/certificates

quand je lance mutt, en tapant G je récupère les mails sur le serveur POPs via TLS/SSL, j’ai eu un message comme quoi le certificat était expiré

Ce certificat appartient à :
mana.kervao.fr
Inconnu
Inconnu
default dovecot cert for mana.kervao.fr
Inconnu

Ce certificat a été émis par :
mana.kervao.fr
Inconnu
Inconnu
default dovecot cert for mana.kervao.fr
Inconnu

Ce certificat est valide
de Oct 4 08:52:44 2015 GMT
à Oct 3 08:52:44 2016 GMT

Empreinte : 76EB 95BD E0E6 D3C3 E389 DD19 B4D2 D3E2

effectivement mon certificat perso du serveur POPs dovecot avait expiré depuis quelques mois sans que je m’en rende compte. J’ai dû le renouveler comme expliqué ici. Quand on retente une connexion, on a maintenant:

Ce certificat appartient à :
mana
Inconnu
none
none
Brest

Ce certificat a été émis par :
mana
Inconnu
none
none
Brest

Ce certificat est valide
de Jan 5 13:29:44 2017 GMT
à Jan 3 13:29:44 2027 GMT

Empreinte : E19F 632A BC73 6002 02E1 146F 022F 06E3

C’est le certificat de dovecot, on peut le refuser, l’accepter une fois ou toujours. On tape a pour l’accepter de manière permanente. Et voilà le résultat.

C’est effectivement plutôt austère !

Pour le reste les commandes sont assez simples, on se sert des flèches pour se balader d’un message à l’autre. Le message sélectionné apparaît en rouge comme on peut le voir ci-dessus. On tape Enter pour le lire, avec Enter on le parcoure ligne après ligne ou espace d’une page à l’autre et la touche pour revenir à la page précédente. Avec la touche v on visualise les pièces jointes comme on peut le voir ci-dessous, on sélectionne la pièce jointe à visualiser et on clique sur m pour la visualiser par le programme tiers défini dans le fichier .mailcap.

pour la visualiser via mutt, il suffit de taper Enter. On revient en arrière en tapant la touche q.

Pour répondre à un mail on tape r, on tombe sur un éditeur vi qu’on quitte avec un classique wq! une fois le mail terminé. On tape y pour envoyer. Pour composer un nouveau mail on tapera m et d pour supprimer un mail. Pour le reste, il vous restera à lire la copieuse documentation officielle.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Vérification anti robot *