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

Под Linux существует несметное количество программ, уведомляющих о новых письмах, но можно организовать их проверку с помощью скрипта, периодически вызываемого через cron. При этом в памяти ничего сидеть не будет, а действие на прибытие почты можно назначить практически любое. Вот, например, скрипт для Gmail:

#!/bin/bash
# Скрипт проверяет Gmail на наличие новых писем через Atom-ленту.

# Это нужно, чтобы notify-send работал из cron'а:
export DISPLAY=:0
export XAUTHORITY=~/.Xauthority

# Проверяем почту
newmail=<code>curl -u &lt;em&gt;email@gmail.com:password&lt;/em&gt; --silent &quot;https://mail.google.com/mail/feed/atom&quot; | tr -d &#039;n&#039; | awk -F &#039;&lt;entry&gt;&#039; &#039;{for (i=2; i&lt;=NF; i++) {print $i}}&#039; | sed -n &quot;s/&amp;lt;title&amp;gt;(.*)&amp;lt;/title.*name&amp;gt;(.*)&amp;lt;/name&amp;gt;.*/2 - 1/p&quot;

# Читаем старый список непрочитанных писем
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: