un peu de perl
qui est un puissant language à tout faire peut servir en cgi en ligne de commande avec une interface graphique Tk
voici un exemple de code perl permettant de vider une boites aux lettres pop3 sans avoir à telecharger tout les messages
#!/usr/bin/perl -w
use strict;
use Net::POP3;
my$server = 'pop.domain.tld';
my $login = 'j*******';
my$passwd = 'azerty';
$| = 1;
print "connecting to $server..\n";
my $pop = new Net::POP3 $server
or die "error: can't connect to $server: $!\n";
print "ok\n";
$pop->login($login,$passwd);
$pop->ok or die "error: wrong username or password\n";
my($undelete,$size) = $pop->popstat;
my$last = $pop ->last;
print "mail box size: $size\n",
"$undelete unread mail(s).\n",
"last read mail was number $last\n\n";
my$fetched = 0;
for my $num (1..$undelete) {
my$msg = $pop->get($num);
next unless ref $msg;
$fetched += $pop->list($num);
printf "\rfetched %2.0f%%",$fetched *100/$size;
$pop->delete($num);
}
print $/;
$pop->quit;
cette exemple provient du livre « Programmation avancée en perl » editeur O’REILLY
j ‘ai apporte quelques modifications à l’exemple du livre
le script est disponible en telechargement direct
http://fakessh.eu/deletemail.pl
la version avec une connexion pop3s ( connexion securisée )
cela se realise tres facilement en conformite avec la page de la documentation
les modifications sont minimes
#!/usr/bin/perl -w
use strict;
##use Email::Simple;
use Net::POP3;
use Net::POP3::SSLWrapper;
pop3s {
my$server = 'pop.wanadoo.fr';
##la tu dois mettre ton identifiant de connexion
my $login = '*****';
##la tu dois mettre tonmot de passe
my$passwd = '*****';
$| = 1;
print "connecting to $server..\n";
my $pop = new Net::POP3 $server
or die "error: can't connect to $server: $!\n";
print "ok\n";
$pop->login($login,$passwd);
$pop->ok or die "error: wrong username or password\n";
my($undelete,$size) = $pop->popstat;
my$last = $pop ->last;
print "mail box size: $size\n",
"$undelete unread mail(s).\n",
"last read mail was number $last\n\n";
my$fetched = 0;
for my $num (1..$undelete) {
my$msg = $pop->get($num);
next unless ref $msg;
$fetched += $pop->list($num);
printf "\rfetched %2.0f%%",$fetched *100/$size;
$pop->delete($num);
}
print $/;
$pop->quit;
}
le script est disponible en telechargement direct
http://fakessh.eu/deletemailpop3s.pl
j’ai trouve un script perl qui est un client imap leger
http://www.ibm.com/developerworks/linux/library/l-cpimap.html
page du wiki sur le fondateur du language perl Larry Wall
homepage de Larry Wall
j’ai dernierement travailler sur la librairie MIME::Lite 3.027 .
c’est un générateur basse calorie pour inclure MIIME facilement dans les émails en perl .
c’est une librairie qui permet facilement d’envoyer des émails en perl sans ecrire beaucoup de codes .
cette librairie comprend trois methode smtp sendmail et une reference de code vers une fonction .
je me suis dit pourquoi pas ajouter en natif le support pour les émails tls et ssl qui sont des connexions entierement cryptées .
j’ai donc tenter d’ecrire un patch pour cela . les patchs sont des fichiers diff -u ou unifiés . je vous join un lien vers mon patch .
http://fakessh.eu/mimelite.diff
j’ai ecrit un programme de test que voici
#!/usr/bin/perl -w
use MIME::Lite;
use strict;
use warnings;
my( $from, $to, $subject ) = @ARGV;
my$msg = MIME::Lite->new (
From => $from,
To => $to,
Subject => $subject
);
$msg->send('tls','domaine.tld'
,Hello => 'domaine.tld',
Port => "587", User => "john" ,
Password => "azerty" , Debug => 4 );en voila je me retrouve avec un bug d’encodage dans la bibliotheque MIME::Lite l’authentification à l’air de s’effectuer correctement l’erreur visible facilement avec le debugguer perl montre que c’est la commande $mailer->mail(‘toto@toto.org’); qui s’execute mal
je cite la commande
]$ perl -d mailtomail3.pl toto@toto.fr john@john.org test
je me suis connecte sur irc le canal des mongueurs ils m’ont conseillé d’ecrire directement aux auteurs de la librairies qui sont quatres . leurs adresses emails personnelles est disponible publiquement . je vais sortir de ma poche mon meilleur anglais et je vais leurs ecrire , nos decouvertes futures me feront beaucoup progresser , je suis impatient
This article is copyright © by admin: Wed Feb 22 23:45:16 UTC 2012

