Wie kann man fetchmail einen Sound abspielen lassen, wenn E-Mails abgerufen werden?

368
Computist

Wie kann man fetchmail einen Sound abspielen lassen, wenn E-Mails abgerufen werden?

0

2 Antworten auf die Frage

0
Dennis Williamson

Wenn Sie es im Vordergrund ausführen:

fetchmail ...; printf '\a' 
0
Patches

Wenn Sie ffmpeginstalliert haben, können Sie damit einen Sound von fast jedem Dateityp abspielen:

ffplay -nodisp /path/to/sound/file 

Leider wird in den meisten Versionen von ffmpegLinux-Distributionen ein Fenster angezeigt, das jedoch in der neuesten Version behoben wurde. Wenn dies nicht erwünscht ist, können Sie den aplayBefehl auch verwenden, aber nur WAV, AU und andere unformatierte Audioformate können wiedergegeben werden:

aplay /path/to/sound.wav 

Wenn Sie das nicht jedes Mal eingeben müssen, können Sie ein kleines Skript schreiben, um es für Sie zu erledigen. ~/bin/fetchsoundLegen Sie eine Datei wie diese an einem beliebigen Ort ab und machen Sie sie ( chmod +x ~/bin/fetchsound) ausfindig ( ):

#!/bin/bash  fetchmail [..]  if [ $? -le 1 ]; then ffplay -nodisp /path/to/sounds/success.ogg else ffplay -nodisp /path/to/sounds/failure.ogg fi 

Sie können auch einen Ton abspielen lassen, wenn Sie neue E-Mails haben, da fetchmailein 0Beendigungscode zurückgegeben wird, wenn neue E-Mails heruntergeladen werden und 1wenn dies nicht der Fall ist. (Alle anderen Statuscodes zeigen einen Fehler an.)

#!/bin/bash  fetchmail [..]  if [ $? -eq 0 ]; then ffplay -nodisp /path/to/sounds/newmail.ogg elif [ $? -gt 1 ]; then ffplay -nodisp /path/to/sounds/failure.ogg fi 
Das Problem ist, dass ich fetchmail im Daemon-Modus wie "fetchmail --keep --verbose --ssl --fetchlimit 0 - fetchsizelimit 0 --timeout 45 --daemon 180 --fetchmailrc $ /. Fetchmailrc-pop" ausführe Funktioniert Ihre Lösung nach jeweils 180 Sekunden? Computist vor 13 Jahren 0