Почтовые оповещения

Под Linux существует несметное количество программ, уведомляющих о новых письмах, но можно организовать их проверку с помощью скрипта, периодически вызываемого через cron. При этом в памяти ничего сидеть не будет, а действие на прибытие почты можно назначить практически любое. Вот, например, скрипт для Gmail:
#!/bin/bash
# Скрипт проверяет Gmail на наличие новых писем через Atom-ленту.
# Это нужно, чтобы notify-send работал из cron'а:
export DISPLAY=:0
export XAUTHORITY=~/.Xauthority
# Проверяем почту
newmail=`curl -u <em>email@gmail.com:password</em> --silent "https://mail.google.com/mail/feed/atom" | tr -d 'n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n "s/&lt;title&gt;(.*)&lt;/title.*name&gt;(.*)&lt;/name&gt;.*/2 - 1/p"`
# Читаем старый список непрочитанных писем
if [ -e /tmp/oldmail.txt ]
then
oldmail=`cat /tmp/oldmail.txt`
else
oldmail=""
fi
# Непрочитанные письма есть...
if [ -n "$newmail" ]
then
# ...и что-то изменилось с момента последней проверки
if [ "$newmail" != "$oldmail" ]
then
# Выводим уведомление
notify-send "New mail" "$newmail" -t 0 -i internet-mail
# Сохраняем текущий список непрочитанных сообщений
echo "$newmail" &gt; /tmp/oldmail.txt
fi
fi

Необходимо вписать сюда имя-пароль, которые — внимание! — будут, таким образом, храниться на диске в явном виде. Сохраняем, проверяем работу и с помощью любимого редактора
export EDITOR=nano
crontab -e

прописываем скрипт на выполнение, скажем, каждые 15 минут:
*/15 * * * * /home/user/script_name.sh
Теперь уведомления о новых письмах будут отображаться с помощью libnotify. Можно дополнительно украсить их звуковым сигналом, например через aplay или mplayer. Можно зачитывать заголовки с помощью festival или мигать светодиодами через Arduino. В общем, полностью настроить под себя.

Your comment: