Trieur Organisé de Solutions et de Ressources Informatiques

logo du site TOSRI

21 avril 2012

Niveau : personne ayant des bases en informatique (terminologie, principe)

Conversion de boites mails de Kmail (ou Kontact) vers Thunderbird

Temps : Selon la boite mail
Pré-requis : testé avec Ubuntu, Fedora (mais possible avec d'autres Linux), Python

Intro

Le premier script ne sert qu'à convertir une boite sans dossier, le second cherche tous les sous dossiers pour une conversion complète. L'origine des deux scripts n'est pas de moi, mais j'ai repris le second pour l'améliorer et qu'il soit bien efficace (récursivité, respect de la casse, etc.).
Je vous les glisse en pièces jointes ;-)

Premier script (en python) : maildir2mbox.py

# -*- coding: utf-8 -*-
"""
maildir2mbox.py
Nathan R. Yergler, 6 June 2010
This file does not contain sufficient creative expression to invoke
assertion of copyright.  No warranty is expressed or implied; use at
your own risk.
---
Uses Python's included mailbox library to convert mail archives from
maildir [http://en.wikipedia.org/wiki/Maildir] to
mbox [http://en.wikipedia.org/wiki/Mbox] format.
See http://docs.python.org/library/mailbox.html#mailbox.Mailbox for
full documentation on this library.
---
To run, save as maildir2mbox.py and run:
$ python maildir2mbox.py [maildir_path] [mbox_filename]
[maildir_path] should be the the path to the actual maildir (containing new, cur, tmp);
[mbox_filename] will be newly created.
"""
import mailbox
import sys
import email
# open the existing maildir and the target mbox file
maildir = mailbox.Maildir(sys.argv [-2], email.message_from_file)
mbox = mailbox.mbox(sys.argv[-1])
# lock the mbox
mbox.lock()
# iterate over messages in the maildir and add to the mbox
for msg in maildir:
mbox.add(msg)
# close and unlock
mbox.close()
maildir.close()

Second script (Bash) : mdir2mbox.sh

#!/bin/bash
# created by: Chris Backhouse
# modified by Mickael Martin
# date: June 2010, April 2012
# web: http://www.sudwebdesign.com and http://tosri.free.fr
# Please feel free to copy and duplicate but would appreciate leaving links alone. thanks
# This script can to contain some errors (or missing test). You can change it !
# check number of arguments
if [ $# -ne 2 ]
then
echo "usage mdir2mobx.sh mails(mailbox_kmail_or_kontact) mails_conv(mailbox_thunderbird)"
echo "The input directory must be named 'mails'"
exit 1
fi
IN_DIR=$1
OUT_DIR=$2
if [ ! -d $IN_DIR ]; then
echo "WARNING: Cannot find Input Directory, exiting"
exit 2
fi
#if output directory not exist, create it
if [ ! -d $OUT_DIR ]; then
mkdir $OUT_DIR
fi
# Loop through files in current directory
# looking for /cur sub folders .
# Then take the name of the parent
find $IN_DIR -name 'cur' | grep -v ibex | while read filename
do
res=$(echo "$filename" | sed s/cur//g)
#test if directory cur is empty (no mail in this directory)
if [ `ls -A "${res}cur" | wc -c` -ne 0 ];then
testfn=`cd "$filename"; cd ..;pwd`
fn=$(basename "$testfn")
if [ -d "$testfn" ]; then
#delete "mails" at the beginning of the path
subdir=$(echo $res | sed "s/^mails\///g")
#change "directory" on sdb in the path
subdir=$(echo $subdir | sed "s/directory/sbd/g")
#delete all dots in the path
subdir=$(echo $subdir | sed "s/\.//g")
#delete the last slash of the path
subdir=$(echo $subdir | sed "s/\/$//g")
subdirT=$subdir
#get the path of the parent directory of the current directory
subdir=$(echo $subdir | nawk -F / 'BEGIN {OFS="/"}; {$(NF--)=""; print}')
#change sdb to .(dot)sbd to obtain the correct extension for thunderbird
subdir=$(echo $subdir | sed "s/sbd/.sbd/g")
#get the last directory to generate a file with the correct name
finalFic=$(echo $subdirT | nawk -F / '{print $NF}' )
if [ `echo $res | grep directory | wc -l` -ne 0 ];then
#create directory recursively
mkdir -p "$OUT_DIR/$subdir"
fi
echo -n "$OUT_DIR/$subdir$finalFic ..."
#launch python script
python maildir2mbox.py "$res" "$OUT_DIR/$subdir$finalFic"
echo "Done !"
fi
fi
done

Utilisation

"mdir2mbox.sh mails mails_conv" où :

  • mdir2mbox.sh est executable
  • Les deux scripts sont dans le même dossier
  • Les deux dossiers mails et mails_conv sont dans ce même dossier

Remerciements

Un grand merci à ceux qui m'ont permis de ne pas réinventer la roue :


6 octobre 2011

Niveau : personne ne possdant pas de comptences de bases en informatique

Thunderbird : astuce pour les retours à la ligne automatiques

Temps : 1-2 min
Pré-requis : Thunderbird = 3.1.14 (les versions supérieures doivent se comporter de la même manière)

Les paramètres de retour à la ligne lors de la rédaction d'un message sur ThunderBird étaient disponibles dans les "Outils (sur Windows) ou Edition (Linux) Préférences -> onglet Rédaction -> Général" . Mais actuellement, ils n'existent plus dans ce menu. J'ai trouvé une façon tout de même de les changer :

  • mailnews.wraplength définit le nombre de caractère sur une ligne avant un renvoi à la ligne.
  • mail.compose.wrap_to_window_width définit le nombre de caractère en fonction de la largeur de la fenêtre.


À retrouver dans les Préférences -> Avancées -> onglet Général -> Éditeur de configuration -> "Je ferai attention, promis !"

options-newline-thunderbird.png


26 juin 2010

Niveau : personne ne possdant pas de comptences de bases en informatique

Se protéger des mails indésirables

Difficulté : Facile à Moyen
Temps : 10 min
Logiciels : Aucun ou Thunderbird (3.0.5 utilisé)

Vous recevez peut être des messages qui ne vous sont pas destinés, des publicités voire des lettres de diffusion (newsletters) dont vous ne souhaitez pas la présence. Nous allons voir comment les limiter, et non les vaincre, malheureusement !

Les lettres de diffusion

Vous vous êtes inscrit sur un site (souvent marchand) et vous avez donné votre adresse ? Le plus souvent, il existe un lien pour se désabonner à la toute fin de l'e-mail. Cela peut être écrit en tout petit. Cependant, tous les sites ne proposent pas cette option et il vous sera obligé d'envoyer un e-mail au webmaster du site (ou à la personne responsable du service) afin qu'il enlève votre adresse de sa liste.

Les indésirables ou spams

Ils naviguent sur le net en quantité extrême et malgré les efforts des fournisseurs de boite mail pour les filtrer, ils peuvent arriver en masse dans votre boite mail.
Une fois arrivés, la meilleur façon est d'avoir un logiciel anti-spam. Certains sont incluent dans les logiciels de messagerie (comme pour Mozilla Thunderbird). Le programme connait et reconnait souvent les spams. Mais il est possible que le spam passe encore dans les mailles du fillet. Déclare-le "indésirable" pour que tous les messages semblables soient considérés comme spams. Le logiciel apprends petit à petit ce qu'il doit considéré comme bon ou mauvais. Par défaut sur Mozilla Thunderbird, le spam n'est pas supprimé, mais juste marqué ! A vous de vérifier et de faire le vide !

Ne pas suivre les liens

On le dira et répètera ! Ne suivez pas les liens que l'on vous donne dans les e-mail s'il ne s'agit pas d'un correspondant.
Si le message vous vient d'un site, préférez copiez le lien et vérifiez si le lien appartient bien au site qui vous l'envoie.
Ne donnez jamais vos coordonnées personnels (adresse, coordonnées bancaires, etc.) suite à un e-mail qui demande des renseignements complémentaires. Préférez utiliser votre navigateur et votre moteur de recherche favori pour aller sur le site et voir si des choses sont à renseigner.

Ouvrir les messages avec prudence

Le but caché du spam est souvent de vérifier votre adresse mail. Pour cela, des spams cachent du code. Ce code s'exécute à la lecture du mail. La meilleure façon de lutter est de désactiver le contenu distant (par défaut dans Mozilla Thunderbird), mais il faut aussi désactiver le Javascript qui peut être caché dans les messages (Outils -> Options -> onglet "Avancé" -> onglet "Général" -> Éditeur de configuration -> "Je ferai attention, promis !" -> mettez seulement "javascript.enabled" à "false" en double-cliquant dessus).

Du bon sens

Cela peut paraître normal, mais encore beaucoup de personnes se font avoir avec de faux courriers de leur banque ou d'autres organismes. il faut apprendre à ne cliquer sur un lien dans un mail, que si cela est nécessaire.
Autre astuce pleine de bon sens, ne donnez pas à tout-va votre adresse mail ! Il existe des sites extraordinaires qui permettent d'utiliser des adresses temporaires ! Je citerai ici que l'excellent yopmail mais il en existe plein d'autres !

Conclusion

Nous avons vu quelques façon de protéger sa boite mail et donc de se protéger. La liste est très loin d'être exhaustive (et d'autres liens sont les bienvenus !). N'oubliez pas le maître mot : Soyez prudent !