Script du jour, télécharger les pièces jointes d'une boite mail
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 {} ; bien placé pour récupérer les fichier JPEG par exemple.
Commentaires
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.
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,