Heute gibts hier was für Masochisten (oder Sadisten, je nachdem). Mit diesem kleinen Perl-Script könnt ihr die Betreffzeilen von Mails in einem bestimmten Ordner vorlesen lassen. Ich habs hier mit meinem Spam-Ordner getestet ;)
Das Script benötigt die Perl-Module Net::IMAP::Simple und Email::Simple und außerdem eine funktionierende Installation von espeak (Ich habs mit Ubuntu 10.10 Maverick getestet).
Vor dem Ausführen die Variablen oben eurem Server entsprechend einstellen und los gehts.
#!/usr/bin/perl
use strict;
use warnings;
use Net::IMAP::Simple;
use Email::Simple;
my $server = "mail.domain.de";
my $user = "username";
my $pass = "passwort";
my $folder = "INBOX/Junk";
my $espeak_params = "-s 160";
# open a connection to the IMAP server
my $imap = Net::IMAP::Simple->new($server) || die "Unable to connect to IMAP: $Net::IMAP::Simple::errstr\n";
# login
if(!$imap->login($user, $pass)) {
print STDERR $imap->errstr . "\n";
exit(64);
}
# select the SPAM-folder
my $nm = $imap->select($folder);
for(my $i = 1; $i <= $nm; $i++){
my $es = Email::Simple->new(join '', @{ $imap->top($i) } );
if($imap->seen($i)){
# already read mail
print "*";
} else {
# new mail
print " ";
# uncomment this to only read new mail
#my @args = ("espeak", $espeak_param, "\"" . $es->header('Subject') . "\"");
#system(@args) || die("system @args failed: $?");
}
# print the mailnumber and subject
printf("[%03d] %s\n", $i, $es->header('Subject'));
# comment this out, when you've enabled the read of unread mails only above
my @args = ("espeak", $espeak_params, "\"" . $es->header('Subject') . "\"");
system(@args) || die("system @args failed: $?");
}
$imap->quit;
Dieses Script als Cronjob eingetragen.. Oder ihr startet es auf einen großen Folder und geht schnell in den Feierabend...
Ein klein wenig umgeschrieben wirds auch wieder sinnvoll, etwa indem man sich den Betreff neuer Mails aus dem normalen Posteingang vorlesen läßt.
Diesen und weitere Artikel findet ihr in meinem
Wiki
Neueste Kommentare
vor 5 Tage 13 Stunden
vor 6 Tage 1 Stunde
vor 6 Tage 22 Stunden
vor 1 Woche 41 Minuten
vor 1 Woche 2 Tage
vor 1 Woche 3 Tage
vor 1 Woche 4 Tage
vor 1 Woche 4 Tage
vor 1 Woche 4 Tage
vor 1 Woche 4 Tage