Программа для оповещения входящей почты. Perl-скрипт для уведомления о новых письмах

24.06.2019

Несмотря на все большее распространение мобильного доступа к сети, еще достаточно мест, где не только интернета нет, но и мобильная связь работает еле-еле. В том случае, если вы ожидаете важное письмо, постоянная проверка почты в такой ситуации превращается в настоящее наказание. Гораздо удобнее, чтобы была возможность получения уведомления по SMS при получении нужного письма. Ниже вы узнаете как это можно сделать.

Мы представляем вам подробное пошаговое руководство, с помощью которого вы сможете получать на свой телефон SMS при получении определенного или всех писем в почтовый ящик Gmail.

1. Открываем Gmail. Создаем новый ярлык под названием Send text. Для этого щелкаем в левой панели ссылку Создать ярлык и вводим название.

2. Открываем Календарь Google и создаем новый календарь под названием Gmail . Здесь будут отмечаться все письма, о прибытии которых вам будет выслано SMS. Тоже весьма полезная функция.

3. Открываем Google Диск и создаем новую таблицу с любым названием. В этой таблице открываем меню Инструменты , там щелкаем пункт Коллекция скриптов .

4. В Галерее скриптов находим скрипт под названием Gmail SMS alerts v.2 . Щелкаем кнопку Установить . Затем закрываем окошко галереи.

5. Возвращаемся к нашей таблице. Здесь в меню Инструменты выбираем Редактор скриптов . В новом окошке откроется добавленный нами скрипт для редактирования.

6. В окне редактирования переходим в меню Ресурсы и выбираем пункт Триггеры текущего скрипта . В появившемся всплывающем окошке выставляем периодичность срабатывания скрипта.

7. Сохраняем скрипт и запускаем его на выполнение. Соглашаемся с предупреждением и разрешаем работу скрипта.

8. Теперь нам необходимо задать правила, по которым будут отбираться сообщения для уведомлений. Для этого в Gmail необходимо создать новый фильтр, который будет отбирать письма по заданному вами условию, например от определенного отправителя или на указанную тему, и присваивать им ярлык Send text, который мы создали в самом первом шаге. Если вы хотите получать уведомления о всех письмах, приходящих во Входящие, то укажите в качестве условия Содержит слова is:inbox .

Вот и все. Если вы все сделали правильно, то теперь при поступлении в почтовый ящик Gmail письма, отвечающего заданным вами условиям, вы будете получать уведомление на свой мобильный телефон, а это событие будет зафиксировано в календаре.

Howard - небольшая утилита для уведомления о получении электронной почты. Поддерживает все популярные почтовые сервисы. Программа выполнена в виде фонового приложения, которое периодически проверяет указанные в настройках почтовые ящики и при обнаружении нового входящего письма оповестит звуковым сигналом и всплывающим сообщением в системном трее.

Howard описание возможностей

Howard дает возможность забыть о периодической ручной проверке электронных почтовых ящиков. Программа окажется полезной особенно тем, у кого два или более адресов электронной почты. Утилита Howard в зависимости от установленной в опциях периодичности поддерживает циклическую проверку новых email от 30 секунд до 2 часов.

Для работы программы необходимо будете выбрать один или несколько почтовых сервисов и войти в соответствующий под своей учетной записью. Howard не является почтовым клиентом и не может сам открывать входящие электронные письма. Приложение создано лишь для оповещения получения новой почты. Как только Howard зафиксировал новое входящие, тогда сразу уведомит звуковым сигналом и в районе панели задач отобразиться небольшое сообщение. Кликнув по всплывающему окну программы вызывается браузер с открывающимся сайтом почтового сервиса или же почтовый клиент, если Вы его используете для чтения и отправки почты.

Howard поддерживает email сервисы:

Настройки программы очень просты и интуитивно понятны. В опциях Howard Вы можете выбрать стили всплывающего уведомления о полученных письмах, изменить звуковой сигнал и выставить периодичность проверки почтовых ящиков.

Некоторое время назад мне захотелось очень простой вещи — чтобы при получении новой электронной почты где-то в углу экрана появлялось уведомление об этом. Притом мне нужны были только уведомления, а не полноценный почтовый клиент, поскольку почту я предпочитаю читать через веб-интерфейс. После непродолжительного поиска мне удалось найти парочку соответствующих приложений.

Готовые решения и что мне в них не понравилось

Первая программа называется PopTray Minus . При беглом ее изучении выяснилось, что она мне не подходит. Во-первых, минимальный интервал, с которым проверяется электронная почта, почему-то равен пяти минутам. Лично я хотел бы проверять почту каждую минуту. Во-вторых, в файле ~/.poptrayrc был обнаружен сохраненный пароль от почтового ящика в base64. Возможность шифровать пароли не предусмотрена.

После распаковки архива требуется установить зависимости скрипта. Сделать это можно либо вручную, посмотрев названия нужных модулей в начале скрипта, либо автоматически, запустив из под рута скрипт INSTALLDEPS.sh. Кстати, в последнее время я включаю скрипт для автоматической установки зависимостей во все свои проекты на Perl. Очень удобно! Идею я подглядел в блоге koorchik’a .

Помимо Perl-модулей также понадобятся утилиты zenity (для вывода уведомлений) и gpg (чтобы не светить пароли):

sudo apt-get install zenity gnupg

Создаем конфиг ~/.email_notifier примерно следующего содержания:

{
"main" : {
"check_interval" : 60
} ,
"pop3_list" : [
{
"user" : "[email protected]" ,
"password" : "secret" ,
"host" : "pop.yandex.ru"
} ,
{
"user" : "[email protected]" ,
"password" : "secret" ,
"host" : "pop.gmail.com" ,
"ssl" : 1 ,
"delete" : 1
} ,
{
"user" : "[email protected]" ,
"password" : "secret" ,
"host" : "pop.mail.ru" ,
"ssl" : 1
}
]
}

Надеюсь, тут вопросов не возникнет. Только будьте осторожны с флагом delete! Если он установлен, скрипт скомандует POP3 серверу удалять все имеющиеся письма. Разные почтовые сервисы в этом случае ведут себя по-разному, о чем я еще упомяну ниже.

Конфиг создан, все зависимости установлены, теперь пробуем запустить скрипт:

./ email-notifier.pl --no-master-password

Если видим уведомления вроде таких:

… значит, все хорошо. В противном случае вы скорее всего увидите сообщения об ошибках, которые помогут вам разобраться в проблеме.

Наконец, шифруем конфигурационный файл:

gpg --cipher-algo AES256 --digest-algo SHA512 -o OUT -a --symmetric IN

Дважды вводим пароль и заменяем конфигурационный файл на зашифрованный. Убедитесь, что незашифрованный конфиг удален. Если что, его всегда можно будет получить из зашифрованного командой:

gpg -o OUT --decrypt IN

Останавливаем скрипт и прописываем его куда-нибудь на автозапуск, на этот раз без флага - -no-master-password . При запуске появится окошко с просьбой ввести мастер-пароль.

Тонкости настройки почты на GMail/Mail.ru/Yandex

Как я уже отметил, разные почтовые сервисы ведут себя по-разному при удалении писем по POP3. Например, GMail можно настроить так, чтобы письма становились невидимыми POP3 клиенту, но оставались доступными через веб-интерфейс:

Экспериментальным путем удалось установить, что Mail.ru всегда ведет себя таким образом и изменить это через настройки нельзя. А вот Яндекс.Почта при удалении письма по POP3 всегда помещает его в папку «Удаленные».

Обратите внимание, что описанное поведение Яндекса, Мейла и Джимейла может в любой момент измениться. Если вы привыкли хранить на почте ценную информацию, я бы рекомендовал сменить мозги ничего не удалять по POP3. Вместо этого, к примеру, можно создать папку, недоступную по POP3 и перекидывать в нее письма после прочтения.

Вопросы читателям

Во-первых, не фигня ли полнейшая этот мой скрипт? Если да, то почему? Если нет, тогда скажите мне, чего из перечисленного ниже на ваш взгляд ему в первую очередь не хватает:

  • Графического интерфейса и иконки в трее;
  • Открытия определенного URL при клике по уведомлению;
  • Поддержки IMAP и RSS;
  • Интернационализации;
  • Демонизации;
  • Хранения паролей в специализированных приложениях;
  • Определения уникальности писем с помощью UIDL и TOP;
  • Свой вариант;

Во-вторых, у меня не было возможности проверить, насколько zenity совместим с KDE и всякими там Awesome. Не могли бы вы это проверить? И в-третьих, по традиции, прочие комментарии (анекдоты по теме, случаи из жизни, объявления о продаже породистых котят) также приветствуются.

Если у вас несколько ящиков, вы можете получать уведомления о новых письмах в Яндекс.Почте на другой адрес. Чтобы настроить уведомления:

    Нажмите значок в правом верхнем углу.

    Выберите Правила обработки писем .

    Нажмите кнопку Создать правило .

    В блоке Применять выберите из списков, к какому типу писем вы хотите применять правило:

    В блоке Если задайте условия для обработки:

    ","hasTopCallout":true,"hasBottomCallout":true,"areas":[{"href":"filter-glossary.html#filter-glossary__terms-attributes","shape":"circle","direction":["top","left"],"alt":"Введите значение выбранного параметра","justMapLink":false,"coords":,"isNumeric":false,"hasTopCallout":true,"hasBottomCallout":false},{"href":"filter-glossary.html#filter-glossary__terms-features","shape":"circle","direction":["bottom","right"],"alt":"Насколько строго должно соблюдаться условие","justMapLink":false,"coords":,"isNumeric":false,"hasTopCallout":false,"hasBottomCallout":true},{"href":"filter-glossary.html#filter-glossary__terms-attributes","shape":"circle","direction":["top","right"],"alt":"Выберите параметр","justMapLink":false,"coords":,"isNumeric":false,"hasTopCallout":true,"hasBottomCallout":false}]}}">

    Подробнее о том, как правильно составить условие, см. в специальной статье .

    Для одного правила можно задать несколько условий, которые могут выполняться одновременно или по отдельности:

    В разделе Выполнить действие включите опцию Уведомить по адресу и укажите адрес, на который будут отправляться уведомления.

    Проверьте почтовый ящик, который вы указали для получения уведомлений. На него придет письмо с инструкцией, как подтвердить получение уведомлений. После подтверждения сообщения о новых письмах будут отправляться на указанный ящик.

Уведомления не приходят

Возможно, это происходит по следующим причинам:

Не указаны персональные данные в Яндекс.Паспорте

Укажите в Яндекс.Паспорте достоверные и привяжите к аккаунту . Возможно, наша система безопасности сочла ваш аккаунт подозрительным и заблокировала ящик. Чаще всего это происходит из-за того, что к ящику не привязан номер телефона или в Паспорте указаны вымышленные имя и фамилия. На снятие блокировки обычно уходит пара часов.

Не активировано правило или не подтвержден адрес

Убедитесь, что на странице активировано нужное правило, а также , на который должны отправляться письма. Проверьте, нет ли опечаток в указанном вами адресе.

Прошло мало времени после настройки правила

После того как вы настроили правило, подождите несколько минут - правило может заработать не сразу.

Некорректно указаны условия правила

Проверьте свойства и параметры условия.

В списке правил есть более приоритетные правила

Если в списке выше есть правила с такими же условиями или в одном из правил выше стоит опция Не применять остальные правила , то это может повлиять на выполнение правила. Подробнее см. в разделе

Похожие статьи