Le Site du dernier matou

Le site qui fait miaou!

Aucun commentaire

Lors d'un précédent article je parlais de Mutt, un client de messagerie. Pour pouvoir l'utiliser, il me manquait une fonctionnalité pouvoir consulter tous mes anciens courriers lorsque je suis sans connexion.

Si Mutt n'a pas cette fonctionnalité, on peut l'obtenir de manière presque transparente grâce à Offlineimap. Ce logiciel s'occupe de synchroniser votre ou vos boites mails distantes dans un répertoire de votre ordinateur et Mutt lira vos courriers sur ce répertoire plutôt que sur la boite distante.

Pour l'installation :

aptitude install offlineimap

Ensuite il faut le configurer en éditant le fichier ".offlineimaprc" dans votre répertoire personnel :

[general]
accounts = Perso, Pro
[Account Perso]
localrepository = PersoLocal
remoterepository = PersoDistant
status_backend = sqlite
[Repository PersoDistant]
type = IMAP
remotehost = adressePerso.net
remoteuser = IdentifiantPerso
remotepass = MotDePassePerso
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Repository PersoLocal]
type = Maildir
localfolders = ~/Maildir/Perso
restoreatime = no
[Account Pro]
localrepository = ProLocal
remoterepository = ProDistant
status_backend = sqlite
[Repository ProDistant]
type = IMAP
remotehost = adressePro.net
remoteuser = IdentifiantPro
remotepass = MotDePassePro
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Repository ProLocal]
type = Maildir
localfolders = ~/Maildir/Pro
restoreatime = no

Comme vous l'aurez compris, offlineimap va synchroniser mes boites distantes personnelle et professionnelle dans le répertoire Maildir. Si vous lancez la commande "offlineimap", la synchronisation débute, la première fois pourra être très longue suivant le nombre de courriers à récupérer.

Pour automatiser la procédure on écrit un petit script (que j'ai appelé sync.sh pour ne pas être original) :

#!/bin/bash
imapactive=$(ps -ef | grep offlineimap | grep -v grep | wc -l)
# Tuer offlineimap s'il est actif (car il a planté)
case $imapactive in
        '1')
                killall offlineimap && sleep 5
                ;;
esac
/usr/bin/offlineimap -u quiet

Et on ajoute une règle à la con cron :

crontab -e

Ajouter la ligne suivante :

*/10 * * * * ~/sync.sh

Ainsi la synchronisation aura lieu toutes les dix minutes. Il ne reste plus qu'à configurer Mutt pour qu'il lise les courriers dans le répertoire Maildir, pour cela retirer la configuration imap de ".muttrc" pour la remplacer par:

# Mutt doit utiliser le fomat Maildir
set mbox_type=Maildir
# On configure les répertoires communs
set spoolfile="~/Maildir/Perso/INBOX"
set folder="~/Maildir"
folder-hook Perso set record="+Perso/Sent"
folder-hook Pro set record="+Pro/Sent"
folder-hook Perso set postponed="+Perso/Drafts"
folder-hook Pro set postponed="+Pro/Drafts"
set tmpdir    = ~/tmp
# On initialise les boites en balayant les répertoires de ~/Maildir:
mailboxes `find ~/Maildir/ -type d -name cur -printf '%h '`

Et voilà, vos mails sont relevés toutes les dix minutes et sauvegardés en local, Mutt aura toujours accès à vos mails avec au pire un décalage de dix minutes.

Aucun commentaire

Mutt est un client mail en mode console. Autrement dit c'est pas chaud à l'œil mais terriblement efficace.

Pour l'installer pas de difficultés :

aptitude install mutt

Ensuite il faut écrire le fichier de configuration .muttrc dans votre répertoire personnel.

# Adresse électronique de l'expéditeur
set from = "mon_adresse@mon_mail.net"

# Nom complet de l'expéditeur
set realname = "Mon identité"

# Génération du champs from
set use_from = yes

# Lors d'une réponse, utiliser l'adresse originale à laquelle a été envoyé le mail
set reverse_name

# Editeur pour rédiger les mails
set editor = "vim -c 'set tw=72' -c 'set wrap'"

# CONFIGURATION IMAP
set imap_pass = "Mon_mdp_IMAP"
set spoolfile="imaps://Mon_identifiant@Mon_IMAP.net/"
set folder="imaps://Mon_IMAP.net/"
set record = "Sent"
set postponed = "Drafts"

# CONFIGURATION SMTP
set smtp_pass = "Mon_mdp_SMTP"
set smtp_url = "smtp://Mon_identifiant@Mon_SMTP.net:587"

# Vue index
set date_format = "%d/%m/%y"
set index_format = "[%Z]  %D  %-20.20F  %s"

#Mail en html
auto_view text/html

Pour la dernière ligne, il faut ajouter un fichier .mailcap dans votre répertoire personnel pour lire les mails en HTML grâce à w3m.

text/html;                      w3m %s; nametemplate=%s.html
text/html;                      w3m -dump %s; nametemplate=%s.html; copiousoutput

Une fois Mutt lancé, la liste de vos mails s'affiche. les flèches directionnelles pour choisir un mail et entrée pour l'ouvrir. Une fois le mail ouvert vous pouvez toujours voir le suivant ou le précédent grâce aux flèches directionnelles. Pour accéder aux pièces jointes un appui sur la touche v.

Pour envoyer un mail, la touche m sur l'écran listant les mails et on répond aux questions au bas de l'écran (destinataire, sujet). On rédige le mail, on peut ajouter les pièces jointes avec la touche a. Au final un appui sur y pour l'envoyer.

Voilà pour le minimum du minimum pour se lancer avec Mutt. Je verrai dans de prochains articles les petits trucs qui me font garder mutt comme lecteur de mails.