Donax.ch

Sauvegarder le contenu d’un dossier IMAP en .eml et extraire les adresses email

Ayant du pour des raisons professionnelles envoyer de grosses quantités d’email sur des mailing listes et du ensuite gérer le carnet d’adresse pour le garder à jour, je me suis retrouvé devant le dilemme suivant: comment faire pour extraire l’adresse de destination de plusieurs centaines d’email reçu en retour du style Undeliverable ou Failure:

Undeliverable: Delivery has failed to these recipients or distribution lists:
bill.gate@microsoft.com
The recipient’s e-mail address was not found in the recipient’s e-mail system. Microsoft Exchange will not try to redeliver this message for you. Please check the e-mail address and try resending this message, or provide the following diagnostic text to your system administrator.

et

delivrery failure: Hi. This is the qmail-send program at smtp.xxxxxx.com. I’m afraid I wasn’t able to deliver your message to the following addresses. This is a permanent error; I’ve given up. Sorry it didn’t work out.:
207.46.197.32 does not like recipient.
Remote host said: 550 #5.1.0 Address rejected bill.gate@microsoft.com
Giving up on 207.46.197.32.

La chose la plus évidente aurait été d’avoir accès au serveur de mail, puis au dossier de mail, afin d’effectuer la recherche d’email dans le dossier ad-hoc. Evidemment je n’est pas accès au serveur de mail…

Trouver une extension Thunderbird

Utilisant de préférence Mozilla Thunderbird comme client mail (la version 3 est démente) j’ai cherché une extension permettant d’extraire les emails dans des messages sans succès (si vous en connaissez, posez un commentaire). Je me suis donc tourné du côté des extensions de sauvegarde ou backup, pour avoir une copie des emails en format texte et enfin pouvoir effectuer ma recherche. L’extension qui ma permis cette prouesse s’appelle ImportExportTools (MboxImport enhanced) et est disponible grâce et chez KAOSMOS.

ImportExportTools (MboxImport enhanced)

Cette extension est bien pensée, elle permet d’exporter des dossiers (zip), une recherche, ou leur contenu en plusieurs format, HTML, EML, PLAIN TXT ou encore CSV via un menu contextuel ajouté à votre client préféré. Je choisi donc d’exporter tous les messages de mon dossier “failures” en .eml et le sauve.

Extraction des emails

Il ne reste plus qu’a extraire les emails concernés. Pour ce faire, un bon petit greppage de derrière les fagots:

Pour exchange
$ grep -hioP "" *.eml >> ouput.txt

Pour qmail
$ grep -hioP "^<[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]>" *.eml >> ouput.txt

Les options:
-h : Suppress the prefixing of file names on output.
-i : Ignore case distinctions in both the PATTERN and the input files.
-o : Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
-P : Interpret PATTERN as a Perl regular expression.
>> : Redirect the output and append it to the file.

Ces deux commandes devraient suffire a extirper tous les emails dont vous avez besoin. Si vous avez besoin de tester vos regexp je vous conseil regexxer, qui permet de voir le résultat de votre expression avant de l’exécuter. Toutes suggestions sont les bienvenues!

Posted in Firefox / Thunderbird, Programmation | Trackback | No comments
Romandez-moi! Romandez-moi!

Leave a Comment

Please be polite and on topic. Your e-mail will never be published.

empat mata pharmacy search game search bet another blog buy pagerank domain buy new movie search domain search auto fishing lake blog shit blog navi new torent business advertising web iklan gratis pagerank web iklan baris image php championships world estate business game magazines features art blog images garden decor backyard shop shelves store cabinets store best shelf organizer shop equipment store fitness first womens clothing store womens clothing childrens clothing leggings store world bbc ticket air ticket speeding images wallpaper tutorial links printer tech system maintenance software media management software spyware blockers online car loan application Trusted Information creator graffiti upskirt no panties lingerie stores kick my ass