Checkmail sur serveur IMAP (dsl je ne sait pas mettre en rouge)
genialissime le script propose par Raskal, malheureusement je n ai que des serveurs IMAP, pas de webmail, donc voici ma version :
prerequis :
blinkd (sudo apt-get install blinkd)
perl (sudo apt-get install perl)
libnet imap simple (sudo apt-get install libnet-imap-simple-ssl-perl)
creer le script
/usr/local/bin/imap.pl pour y placer :
use Net::IMAP::Simple;
my $count = 0;
my $imap = Net::IMAP::Simple->new('host') ||
die "Unable to connect to IMAP: $Net::IMAP::Simple::errstr\n";
if(!$imap->login('login','password')){
print STDERR "Login failed: " . $imap->errstr . "\n";
exit(64);
}
my $nm = $imap->select('INBOX');
for(my $i = 1; $i <= $nm; $i++){
if($imap->seen($i)){
} else {
$count++
}
}
print "$count";
$imap->quit;
remplacez "host" "login" "password" par vos infos
puis tapez
crontab -e pour rajouter :
* *[tab]* * *[tab]root[tab]/usr/bin/blink -s -r `perl /local/bin/imap/pl
les "[tab]" sont des tabulations comme vous avez du deviner 😉
pour les petits rappels, la ligne ajoutee dans crontab permet d appeller blink toutes les minutes, avec en parametre le resultat retourne par imap.pl, qui est le nombre de nouveaux mails
inconvenient : ce script check tous les messages presents sur le serveur pour savoir si ils sont nouveaux ou pas.
le but etant de voir le nombre de nouveaux mails, il faudrait juste pouvoir envoyer "a2 status inbox (messages unseen)" et parse la reponse qui contient le nombre de messages non lus (bien moins lourd a gerer, et plus rapide)
mais imap simple ne le permet pas, faudrait creer son propre client en fait, et j avoue avoir la flemme, donc si quelqu un veut le faire