Voila un petit script que j’ai codé pour dépanner quelqu’un qui s’est dit après deux ans que finalement il aurait dû enregistrer ses photos reçues par mail. Comme je le trouve assez intéressant pour le publier, le voici :
#!/usr/bin/env perl use strict; use Net::IMAP::Simple; use MIME::Parser; my $server = "serveur"; my $user = "user"; my $pass = "pass"; my $imap = new Net::IMAP::Simple( $server ); $imap->login($user, $pass); my $nbmsg = $imap->select( 'INBOX' ); foreach my $msg ( 1..$nbmsg ) { my $lines = $imap->get( $msg ); my $fh = $imap->getfh( $msg ); my $parser = new MIME::Parser; $parser->output_under("/tmp"); my $entity = $parser->parse($fh); close $fh; } $imap->quit();
Il reste plus qu’un petit find /tmp -name *.jpg -exec mv {}
Hello,
Je ne suis pas convaincu par l’ingéniérie sociale 🙂 de ton script; s’il doit déplacer lui-même ses fichiers jpg, on peut être assuré qu’il les oubliera.
Par contre, ça montre comme on peut réaliser facilement des choses complexes avec les librairies appropriées.
Par exemple, je suis abonné à certaines mailing-listes juste parce que c’est nécessaire pour pouvoir y poster; par contre, je préfère lire les réponses sur les sites correspondants. Donc je verrais bien un script similaire pour effacer les messages au lieu de les rapatrier.
En fait c’est sur mon poste que le script et le find seront exécutés donc le problème ne se pose pas mais effectivement si j’avais voulu le livrer je l’aurais davantage peaufiné.
Bonjour,
tu as une balise ou (texte en gras) non fermée.
Ceci dérègle le Planet-Libre, pourrais tu gérer cela au plus vite 🙂
Cordialement,
C’est corrigé, toutes mes excuses.
Intéressant le Script. Peut on l’appliquer au service imap de gmail ? Sachant qu’il le SSL en plus
Pour le SSL il faudrait utiliser Mail::IMAPClient. J’avais commencé un bout de script, dès qu’il sera prêt je le posterai.