Newsgroup: it.comp.os.linux.iniziare
Titolo: thunderbird: notifiche mail

ciao a tutti!! sto smanettando con i led del mio portatile asus
è possibile abilitare una opzione in thunderbird che esegua un programma 
all'arrivo di una mail??
mi servirebbe eseguire solo un
"echo 1 > /proc/acpi/asus/mled"
nelle preferenze non mi sembra di averlo visto!
c'è qualche modo agendo da file di configurazione? visto che è possibile 
eseguire un suono magari si può anche avviare un programma....
altrimenti dite che posso rivolgermi a un demone, indipendente da 
thunderbird, che mi controlla il server di posta (tipo ogni minuto) e mi 
accende la lucina se trova qualcosa?...
non ridete! ma il led della posta è blu, non immaginate che figo...
ciao
-- 
Federico Tonin
www.FedeCR.tk
* Computers are like air conditioners:
   they stop working properly when you open Windows.

 non ridete! ma il led della posta è blu, non immaginate che figo...
il blu non è più di moda da un pezzo;
r
-- 
Verrà la Parusia come ladro di notte.
Baudelaire e l'arte: 
http://umpf.net/

 
dai... perchè?? è un po' tamarro ma sta bene... non sai per thunderbird?


 
nulla;
in Xfce c'è l'applet Mail checker ma non penso influisca sul 
led;


> il blu non è più di moda da un pezzo;
Vero, quest'anno va di moda il rosa, butta quel cesso di portatile :-P
-- 
Quando ero piccolo pregavo ogni notte per avere una bicicletta nuova. 
Poi ho capito che il Signore non fa questo genere di cose, allora ne ho 
rubata una e gli ho chiesto di perdonarmi (Emo Philips)

 
no lo so... però di solito queste cose sono "facilmente" modifcabili... 
del tipo mi apro il file sorgente e gli dico di aggiungere
echo 1 > /proc/acpi/asus/mled
quando trova una nuova mail....
oppure hanno già un "esegui comando all'arrivo di una mail"


 
hai un portatile con i led rosa????? lo voglio


> hai un portatile con i led rosa????? lo voglio
Eh, no, magari...
La Apple magari qualcosa si inventa :-D


 
sempre detto che sono i migliori!
io ne ho 2 arancioni, uno verde e uno blu! e VOGLIO usarlo!!
per cui, sotto coi suggerimenti!!!!!!!!!!!!!!!
:-P


 :-P
ti potresti creare una piccola extension, oppure con somma 
pigrizia modificarne una gia' esistente.. ;)
-- 
Ciao,
Klaupacius

Klaupacius ha scritto:

vero... ora controllo le disponibilità!
altrimenti il demone me lo faccio io.... tanto basta uno script shell 
che mi si connetta via telnet al 
pop.mail.yahoo.it
 e controlli la posta no?
se trova qualcosa accende il led... mi basta questo! così so che devo 
aprire thunderbird per scaricarla...
cerco un po' di comandi e provo


mi auto-rispondo!!!
...casomai qualcuno fosse interessato:
http://moztraybiff.mozdev.org/
è già anche abilitato il mitico led blu dell'asus!!!
ciaooooooooo


 nelle preferenze non mi sembra di averlo visto!
Se il portatile è sempre connesso ad internet non è obbligatorio usare 
direttamente thunderbird. Ad esempio questo programmino in perl 
(eseguito in background) fa quello che chiedi. Puoi farlo eseguire da un 
crontab, infilarlo in un tema per karamba oppure farlo eseguire da uno 
micro-scrip per sh, tipo
#!/bin/sh
while true ; do
	mail-led
	sleep 60
done
####################### inizio #########################
#!/usr/bin/perl
use Net::POP3;
my $ServerName = "
pop.foobar.it
";
# If your username contains a @ character you
# must replace it with \@
my $UserName = "utonto\@
foobar.it
";
my $Password = "password";
my $pop3 = Net::POP3->new($ServerName);
if (!$pop3) {
	print "server unreachable";
}
my $Num_Messages = $pop3->login($UserName, $Password);
if ( $Num_Messages > 0 ){
     print $Num_Messages ." new mail\n";
     exec "echo 1 > /proc/acpi/asus/mled"
}
else{
     print "no new mail\n";
     exec "echo 0 > /proc/acpi/asus/mled"
}
$pop3->quit();
####################### fine #########################
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Se Gauss fosse vivo oggi, sarebbe un hacker.''
      --Peter Sarnack (Princeton University)

Lorenzo `paulatz' Paulatto ha scritto:

semplicemente grandioso!!!
grazie


 oppure hanno già un "esegui comando all'arrivo di una mail"
Con gkrellm si può. C'è il "Programma di notifica (acustica)".
Io ci ho messo sylpheed-gtk2...
Pedonzolo
-- 
Computer e modem: 500 euro, con Mastercard.
Un mese di accesso a Internet: 20 euro, con Mastercard.
Usarli per rubare i dati di 40 milioni di carte di credito: non ha prezzo.
Ci sono cose che non si possono comprare.
Per tutto il resto, c'Ãš Mastercard.

ciao!!
con due account, come si fa?
ho fatto una modifica al tuo script ma non va... (sarà perchè vedo il 
perl per la prima volta...)
#!/usr/bin/perl
use Net::POP3;
my $ServerName = "serverx";
# If your username contains a @ character you
# must replace it with \@
my $UserName = "nickx";
my $Password = "passwdx";
my $pop3 = Net::POP3->new($ServerName);
if (!$pop3) {
     print "server unreachable";
}
my $Num_Messages = $pop3->login($UserName, $Password);
if ( $Num_Messages > 0 ){
     print $Num_Messages ." new mail\n";
     exec "echo 1 > /proc/acpi/asus/mled"
}
else{
     print "no new mail\n";
     exec "echo 0 > /proc/acpi/asus/mled"
}
$pop3->quit();
use Net::POP3;
my $ServerName1 = "servery";
# If your username contains a @ character you
# must replace it with \@
my $UserName1 = "nicky";
my $Password1 = "passwdy";
my $pop3 = Net::POP3->new($ServerName1);
if (!$pop3) {
     print "server unreachable";
}
my $Num_Messages1 = $pop3->login($UserName1, $Password1);
my $Num_Messagest=$Num_Messages + $Num_Messages1;
if ( $Num_Messagest > 0 ){
     print $Num_Messages ." new mail\n";
     exec "echo 1 > /proc/acpi/asus/mled"
}
else{
     print "no new mail\n";
     exec "echo 0 > /proc/acpi/asus/mled"
}
$pop3->quit();
non mi controlla il secondo account... (non copmare neanche un messaggio 
di errore o un testo che dica "no new mail" o altro...)
dove ho sbagliato?


 dove ho sbagliato?
Probabilmente dovresti ricreare tutto il $pop, ma adesso non ho tempo
di provare.
Come soluzione rapida puoi fare una modifica del genere:
my $ServerName = $ARGV[0];
# print $ARGV[0];
# If your username contains a @ character you
# must replace it with \@
my $UserName = $ARGV[1];
my $Password = $ARGV[2];
così puoi passare server, username e password come argomenti:
mail-led 
pop.foobar.com
 test\@
foobar.com
 password
ed eseguire il programma per ogni casella di posta.
Un'altro appunto che mi sono dimenticato di fare ieri è che il metodo
`login' non funziona per i server che richiedono autenticazione sicura
(e.g. 
gmail.com
). Per supportarli si dovrebbe usare il modulo POP3_auth
e fare un po' di modifiche. LA pagina di riferimento è questa:
http://search.cpan.org/~apleiner/Net-POP3_auth-0.03/POP3_auth.pm

 dove ho sbagliato?
non ho visto il codice, ma potrebbe bastare fare un ciclo
#!/usr/bin/perl -w
use strict;
use Net::POP3;
my @dati = (
    {
        'ServerName' => "NomePrimoServer",
        'UserName'   => "NomePrimoUtente",
        'Password'   => "PrimaPassword"
    },
    {
        'ServerName' => "NomeSecondoServer",
        'UserName'   => "NomeSecondoUtente",
        'Password'   => "SecondaPassword"
    }
);
foreach my $indice (0..$#dati) {
    my $pop3 = Net::POP3->new($dati[$indice]{'ServerName'});
    if (!$pop3) {
        print "server unreachable";
    }
    my $Num_Messages = $pop3->login($dati[$indice]{'UserName'}, $dati[$indice]{'Password'});
    if ( $Num_Messages > 0 ){
        print $Num_Messages ." new mail\n";
        exec "echo 1 > /proc/acpi/asus/mled"
    }
    else {
        print "no new mail\n";
        exec "echo 0 > /proc/acpi/asus/mled"
    }
    $pop3->quit();
}
-- 
10/6/2005 | E' l' alba, finalmente!!!

 ed eseguire il programma per ogni casella di posta.
grazie!!
il problema č che, se nel primo account ci sono mails, mi accende il led 
e, se nel secondo non ne trova, me lo spegne ;)
dovrei magari creare un file temp se trova mail nel primo account, e la 
seconda volta controllare se il file esiste (in shell č test -e nomefile 
ma in perl non lo so) e se esiste giŕ non spegnere il led...
boh


 }
c'è qualcosa di strano... ho fatto copia/incolla del tuo script, messo i 
campi server, nome, password ma controlla sempre solo il primo account 
che metto! infatti ho provato a invertirli e entrambi funzionano...ma 
controlla solo il primo! per sicurezza ho aggiunto una print
foreach my $indice (0..$#dati) {
     my $pop3 = Net::POP3->new($dati[$indice]{'ServerName'});
     	print "sto controllando ". $indice;
	if (!$pop3) {
         print "server unreachable";
     }
     my $Num_Messages = $pop3->login($dati[$indice]{'UserName'}, 
$dati[$indice]{'Password'});
     if ( $Num_Messages > 0 ){
         print $Num_Messages ." new mail\n";
         exec "echo 1 > /proc/acpi/asus/mled"
     }
     else {
         print "no new mail\n";
         exec "echo 0 > /proc/acpi/asus/mled"
     }
     $pop3->quit();
}
e mi dà come output solo:
[fede@notebook bin]# perl test-mail
sto controllando 0no new mail
sicuro che non ci sia qualcosa che non va nel ciclo?? non capisco


 sicuro che non ci sia qualcosa che non va nel ciclo?? non capisco
non so che dirti
l' ho (ri)provato pure ora con 3 miei account e funge :/
vabe', gia' che c' ero ho pensato al fatto del led acceso quando anche
solo una mail e' arrivata
#!/usr/bin/perl -w
use strict;
use Net::POP3;
my @dati = (
    {
        'ServerName' => 'XXXXX',
        'UserName'   => 'XXXXX',
        'Password'   => 'XXXXX'
    },
    {
        'ServerName' => 'YYYYY',
        'UserName'   => 'YYYYY',
        'Password'   => 'YYYYY'
    }
);
my $messaggi=0;
foreach my $indice (0..$#dati) {
    my $pop3 = Net::POP3->new($dati[$indice]{'ServerName'});
    if (!$pop3) {
        print "server unreachable";
    }
    my $Num_Messages = $pop3->login($dati[$indice]{'UserName'},
    $dati[$indice]{'Password'}); if ($Num_Messages>0) {
        $messaggi+=$Num_Messages;
    }
    $pop3->quit();
}
if ($messaggi>0) {
    print $messaggi, " mail\n";
    exec 'echo 1 > /proc/acpi/asus/mled'
}
else {
    print "no new mail\n";
    exec 'echo 0 > /proc/acpi/asus/mled'


 solo una mail e' arrivata
grazie!! ora funziona tutto... è perfetto


 
cortesemente, puoi dirmi dove butti il portatile?
:-)

LinuxBoy ha scritto:

ma dai cosa te ne faresti??
è passato di moda a quanto dicono :)
