- «Вам письмо!»
- Обзор Linux-утилит для уведомления о новых письмах Gmail
- KCheckGmail
- CheckGmail
- Gmail Notifier
- Mail Notification
- В заключение
- От переводчика
- Настройка почтовых уведомлений системы мониторинга в CentOS
- Основные понятия электронной почты
- Агенты передачи сообщений
- Почтовые клиенты
- Протокол SMTP
- Отправка сообщений с помощью Heirloom mailx
- Установка mailx
- Что такое символьные ссылки и как их создавать
- Настройка ретрансляции SMTP-сервера
- Отправка электронных писем с помощью команд mail и mailx
- Настройка сообщений системы мониторинга, предупреждений и уведомлений безопасности
- Мониторинг портов и сокетов
- Мониторинг с помощью сценариев Bash
«Вам письмо!»
Обзор Linux-утилит для уведомления о новых письмах Gmail
Если для вас электронная почта значит не меньше, чем для Тома Хэнкса и Мэг Райан в фильме «Вам письмо!» , то скорее всего вам бы очень хотелось получать уведомление каждый раз, когда на ящик приходит новое сообщение. И если вы используете Gmail, то можете попробовать одну из следующих программ, которые исполняют ваше желание.
KCheckGmail
В первую очередь познакомимся с KCheckGmail , KDE-ориентированным приложением, которое доступно в репозиториях Ubuntu, Mandriva, openSUSE и прочих. Если ваш любимый дистрибутив его не включает, зайдите на страничку закачки или скачайте исходный код и следуйте инструкциям по установке. Для тех, кто не знает английский, есть поддержка большинства европейских языков (включая даже валонский и каталанский) и некоторых азиатских. Вы сами можете помочь с переводом на другие языки , если есть желание и возможности.
Для начала введите свое имя пользователя (логин) и пароль Gmail на вкладке Login . Вы можете использовать KDE Wallet для безопасного их хранения. На вкладке Network вы можете указать интервал проверки; но не выставляйте его меньше 60-ти секунд, иначе только перегрузите свою машину. Здесь же можно включить использование HTTPS соединений, чтобы еще больше обезопасить вашу почту. На вкладке Behavior вы можете указать, как KCheckGmail будет отвечать на щелчок по иконке в области уведомлений (по умолчанию: открывает браузер на страничке Gmail) и какой браузер он будет использовать (по умолчанию: текущий браузер KDE; но вы можете изменить это на, к примеру, Firefox). Наконец, вкладка Advanced позволяет решать, какие сообщения будут считаться новыми (по умолчанию: «in:inbox in:unread» — все непрочитанные сообщения в папке Входящие; это стандартный Gmail синтаксис) и какие режимы использовать. Также эта вкладка позволяет использовать (опционально) звуковые уведомления о получении сообщения или о том, что непрочитанные письма отсутствуют.
Во время работы KCheckGmail иконка в области уведомления показывает количество непрочитанных сообщений, но если это количество превысит 100, число будет обрезано и прочесть его станет затруднительно. Если вы щелкнете по иконке правой кнопкой мыши и выберете Threads в меню, то появится всплывающее окошко с последними цепочками, в которых есть непрочитанные сообщения (замечание: последнее непрочитанное сообщение находится не в самом верху, а в самом низу списка, так как он сортируется по нисходящему принципу). При наведении мыши на цепочку, окошко показывает начало каждого сообщения и наличие/отсутствие приложенных файлов. Щелчок по цепочке открывает веб-браузер сразу на выбранном сообщении. Еще одна возможность, которая тоже доступна из контекстного меню иконки — это написание нового письма. Но если вы ранее не указали браузеру «запомнить мои данные на этом компьютере» при входе в Gmail, то тогда придется ввести логин и пароль для входа, как обычно, прежде чем читать или писать письма.
Подведем итоги. KCheckGmail отлично интегрируется в KDE. Программа не бросается в глаза, не отличается особой элегантностью, но со своей работой справляется хорошо.
CheckGmail
CheckGmail — это небольшая и шустрая, основанная на GTK утилита для проверки почты Gmail. Ориентирована на пользователей GNOME. Программа доступна на нескольких языках, а если вам хочется перевести ее на свой язык — достаточно просто отредактировать соответствующий XML файл и отправить его автору программы . CheckGmail использует формат Atom для получения данных с сервера Google, так что работает реально быстро. Также вы можете настроить ее на разные необычные уведомления, например звуковые или световые (с помощью индикаторов на компьютере) — но такие штучки быстро надоедают.
По умолчанию CheckGmail есть только в репозиториях Ubuntu, но установка проста — ведь эта программа есть не что иное, как Perl-скрипт. Скачайте последнюю версию и затем запустите в консоли следующее:
Если каких-то пакетов не хватает, CheckGmail сообщит об этом, и вам придется самим найти их и установить. Например, в моей Mandriva не оказалось Gtk2::TrayIcon и XML::Simple , поэтому мне пришлось установить пакеты perl-Gtk2-trayicon и perl-XML-simple . После этого всё заработало безупречно. Те названия отсутствующих пакетов, которые сообщает вам CheckGmail, совсем не обязательно совпадают с названиями таковых именно для вашего дистрибутива (альтернатива — установка из CPAN , в этом случае названия совпадут). При второй попытке установки мне было сказано, что стоит достать кой-какие пакеты для шифрования и сжатия информации. Я их тоже установил — но на самом деле этот шаг не обязателен.
При первом запуске CheckGmail запрашивает ваше имя пользователя (логин) и пароль в системе Gmail. Программа предложит настроить, какую команду использовать при щелчке по значку в области уведомлений (по умолчанию предлагается Firefox), какие команды запускать при получении новой почты или при обнаружении отсутствия таковой, как часто проверять почту, в течение какого времени будет показываться уведомление в виде всплывающего окошка; также настраиваются всякие мелочи вроде вида иконок или фона для них. Если у вас проблемы с подключением и при этом появляется сообщение » 401:unauthorized «, откройте консоль и запустите ./checkgmail -update , после чего следуйте инструкциям на экране, чтобы получить последнюю версию программы. В моем случае окошко с ошибкой продолжало появляться, и мне приходилось каждый раз запускать программу с -update (на Ubuntu таких проблем замечено не было — прим.переводчика). После первоначальной настройки последующие запуски будут требовать только имя пользователя и пароль.
Если вы наведете курсор на иконку программы в области уведомлений, то получите краткое описание всех новых сообщений (включая тему, отправителя и первые строки сообщения) и ссылки, позволяющие вам открыть письмо, пометить как прочитанное, пометить как спам, архивировать его или же удалить. Также есть возможность пометить все новые письма разом как прочитанные. Щелчок по иконке правой кнопкой мыши позволяет отменить последнее действие, перейти к написанию письма или изменить настройки.
Хотя CheckGmail отлично работает с GNOME, она не очень хорошо интегрируется в KDE. Например, у вас не получится установить прозрачный фон для иконки в области уведомлений, а также потребуется специальный внешний пакет для нормального взаимодействия с KDE Wallet. Тем не менее, программа более функциональна, чем KCheckGmail. Очень порадовала возможность обрабатывать сообщения напрямую без открытия браузера, но, с другой стороны, неприятна ошибка 401, упомянутая выше.
Gmail Notifier
Google предлагает свою программу для уведомлений о новой почте — Gmail Notifier, но она доступна только для Windows. Однако, есть аналог и для Linux — основанный на GTK, независимый Python-скрипт под названием gmail-notify .
Установка очень проста, ведь нет необходимости в компиляции или каких-то особых процедурах: достаточно просто скачать последнюю версию и запустить:
При первом запуске скрипта вас попросят ввести имя пользователя и пароль, указать используемый браузер и как часто проверять почту (в миллисекундах), а также настроить пару параметров всплывающего окошка. Эти настройки будут храниться в файле .notifier.conf в вашей корневой директории. Когда приходит новое сообщение, появляется всплывающее окно с подробностями. Дополнительных функций не так уж много — щелчок по иконке в области уведомлений позволяет: проверить почту немедленно, перейти к Входящим, настроить программу и выйти из нее ( Check now , Go to inbox , Configure и Exit соответственно).
Gmail-notify — наиболее простая из всех подобных программ, предоставляющая лишь основные функции по уведомлению о письмах; если вам этого недостаточно, обратите внимание на другие приложения.
Mail Notification
Mail Notification — более широкое, универсальное решение, поскольку позволяет работать с разными типами почтовых аккаунтов, не ограничиваясь только Gmail. И хотя ориентирована программа на GNOME, она также может работать с KDE или Xfce. Установка не так проста, как в предыдущих проектах: сначала нужно скачать исходники , затем:
Заранее будьте готовы ставить множество дополнительных библиотек. В моем случае процесс конфигурации запустился только с пятой попытки, и после каждой приходилось ставить несколько пакетов. К тому же, Mail Notification будет серьезно ограничена по функционалу (например, не сможет подключаться к POP3 серверам), если вы не установите «необязательные» библиотеки и пакеты, такие как GMime, GetLive, FetchYahoo, OpenSSL и другие — подробнее смотрите README файл, идущий с программой. При установке без всех этих пакетов, вы сможете подключаться только к аккаунтам Gmail. Если впоследствии вы решите их всё-таки установить, то придется запускать цикл configure/build/install по новой.
После установки, выполните mail-notification для запуска программы. Как и ранее, при первом запуске вам придется указать данные ваших аккаунтов, настройки уведомления и прочее. Нажмите на Add , чтобы добавить новый почтовый ящик; укажите тип — Gmail, введите имя и пароль. На вкладке Details можно установить, насколько часто проверять почту — значение по умолчанию установлено на пять минут.
Когда Mail Notification запущена, иконка в области уведомлений показывает количество новых сообщений. Если навести на нее мышку, то увидите подробности, а именно: почтовый ящик (не забываем — программа умеет следить сразу за несколькими аккаунтами), отправитель, тема и время. Щелчок по иконке правой кнопкой мыши дает доступ к таким функциям, как открытие Gmail (хотя у меня это не сработало — опять каких-то пакетов не хватило. ), прочтение последних писем (вот это сработало — Gmail открылся), пометка всех новых сообщений как прочитанные, обновление программы и настройка её.
Итак, Mail Notification более универсальное приложение, нежели остальные, в том смысле что может работать с различными типами аккаунтов — но не более того: дополнительных возможностей мало. К тому же, относительно сложная процедура установки может отпугнуть многих пользователей.
В заключение
Если вы хотите наиболее полный функционал, то CheckGmail — ваш выбор. KCheckGmail лучше интегрируется в KDE, но проигрывает по функциональности CheckGmail. У других двух программ возможностей еще меньше. Хотя Mail Notification выгодно выделяется доступом к разным типам аккаунтов, но процедуру установки можно было сделать и попроще.
От переводчика
В комментариях к оригинальной статье были предложены возможные альтернативы утилитам из обзора.
Во-первых, это программы cGmail , GmailAssistant и модуль Mail Watcher из XFCE .
Во-вторых, можно использовать клиенты мгновенного обмена сообщениями ( Pidgin , Psi ) для подключения к Google Talk , и тогда вообще не потребуются никакие дополнительные отдельные программы.
В-третьих, аналогичную функцию выполняют дополнения для FireFox — Gmail Manager и Gmail Notifier. Естественно, они работают только когда включен сам браузер. Это же относится и к клиентам мгновенного обмена сообщениями.
Federico Kereki — системный программист из Уругвая с более чем 20-летним опытом работы. Он занимается консультациями, а также является преподавателем в университетах.
Источник
Настройка почтовых уведомлений системы мониторинга в CentOS
Возможность отправлять извещения по электронной почте очень важна в управлении сервером: это не только упрощает работу, но и позволяет своевременно узнать о сбое или атаке.
Данное руководство поможет настроить отправку извещений по электронной почте на виртуальном выделенном сервере CentOS и повысить его защиту.
Основные понятия электронной почты
Электронное письмо (или e-mail) – это передача сообщения в электронном виде. Этот процесс не обязательно происходит онлайн. Передавать электронные письма можно в пределах одной локальной сети или даже машины. Для этого используются встроенные инструменты. Для передачи электронного письма в интернете используется множество компонентов, среди которых и агенты передачи сообщений.
Агенты передачи сообщений
Агент передачи сообщений (message transfer agent, или MTA) – это приложение, которое осуществляет доставку пользователю вне зависимости от его местонахождения (он может находиться в той же сети или же в удалённой системе). Обычно MTA поставляются по умолчанию вместе с различными дистрибутивами Linux и используются в качестве клиентов для обмена сообщениями между хостами (как правило, с помощью протокола SMTP).
Почтовые клиенты
Почтовый клиент – это приложение, с помощью которого пользователи или другие приложения могут обмениваться электронной почтой. Они зависят от MTA. Популярными клиентами являются Microsoft Outlook, Mozilla Thunderbird или онлайн-клиент Gmail.
Протокол SMTP
Для взаимодействия хостов и обмена сообщениями между ними используется протокол. По сути это «общий язык», позволяющий хостам понимать друг друга. Одним из самых популярных протоколов является SMTP.
Отправка сообщений с помощью Heirloom mailx
К сожалению, настроить по-настоящему надёжную систему достаточно тяжело. Описанная в этом руководстве архитектура способна охватить только одну сторону сложной природы обмена электронными письмами
В данном руководстве используется Heirloom mailx, почтовый агент от Berkeley Mail. Он предлагает дополнительную поддержку некоторых протоколов, среди которых IMAP, POP3 и SMTP.
Примечание: На форумах и сайтах вы можете встретить похожее приложение под названием nail. Эти приложения действительно очень похожи. Чтобы выполнить любую команду nail в mailx, нужно просто заменить в команде nail на mail или mailx. Также можно создать символьную ссылку на приложение mailx.
Установка mailx
Для начала нужно обновить систему.
Примечание: В среде производства рекомендуется пропустить обновление системы, так как это повлияет на работу приложений.
Чтобы установить mailx, используйте команду:
$ yum install -y mailx
Теперь можно отправлять сообщения с помощью команды mail или mailx.
Что такое символьные ссылки и как их создавать
Символьная ссылка (symlink) – это файл, который содержит ссылку на другой существующий в системе файл.
Некоторые сценарии и приложения могут использовать для отправки сообщения команду email вместо mailx. В таком случае нужно создать символьную ссылку на mailx.
Например, чтобы вместо команды mail выполнялась команда mailx, нужно ввести.
$ ln -s /bin/mailx /bin/email
Настройка ретрансляции SMTP-сервера
Некоторые сообщения, отправленные согласно инструкциям данного руководства, могут оказаться в папке спама. Если вам нужны только уведомления приложений, такой проблемы не возникнет. Однако если вы хотите ускорить доставку входящей почты, вы можете ретранслировать свои сообщения через внешние серверы SMTP (т.е. серверы ваших почтовых провайдеров или коммерческие сервисы электронной почты).
Чтобы настроить SMTP-сервер для использования mailx, отредактируйте файл /etc/mail.rc, в котором хранятся настройки приложений.
Ниже вы найдёте пример настроек SMTP, которые нужно отредактировать. Укажите своего провайдера. Строки, которые начинаются с символа #, закомментированы, то есть не работают.
# set smtp=smtp://smtp.server.tld:port_number
set smtp=smtp://smtp.example.com:543
# tell mailx that it needs to authorise
set smtp-auth=login
# set the user for SMTP
# set smtp-auth-user=user@domain.tld
set smtp-auth-user=user.name@example.com
# set the password for authorisation
set smtp-auth-password=enter-password-here-1234
Примечание: Не забудьте отредактировать код, указав ваши данные.
Чтобы закрыть и сохранить файл, нажмите CTRL+X и Y.
Примечание: Также вы можете использовать сервер Gmail или профессиональные серверы, например MANDRILL. С помощью таких серверов можно бесплатно отправлять большое количество электронных писем.
Отправка электронных писем с помощью команд mail и mailx
С почтовой системой Sendmail можно взаимодействовать напрямую, однако использование приложения mailx упрощает работу и предлагает ряд полезных дополнительных опций.
Вот краткий список доступных опций Heirloom mailx:
- -a файл: позволяет прикреплять выбранный файл к письму.
- -b адрес: отправляет скрытые копии письма (bcc) на все адреса, перечисленные через запятую.
- -c адрес: рассылает копии писем всем пользователям, состоящим в списке.
- -q файл: отправляет содержимое заданного файла в виде сообщения.
- -r from адрес: задаёт адрес отправителя.
- -s тема: устанавливает тему сообщения.
Примечание: Полный список опций можно найти в официальной документации.
Чтобы отправить сообщение, используйте:
echo «Your message» | mail -s «Message Subject» email@address
Чтобы отправить сообщение с вложением:
echo «Message» | mail -s «Subject» -a /loc/to/attachment.txt email@address
Прочитать тело сообщения из файла можно с помощью команды:
echo | mail -s «Subject» -r from@address -q /loc/to/body.txt email@address
Примечание: Если у вас не настроен внешний сервер SMTP, все ваши сообщения, скорее всего, будут отмечены как спам. Чтобы избежать этого, перенаправьте их во входящие сообщения вручную.
Полную документацию Heirloom mailx можно найти здесь.
Настройка сообщений системы мониторинга, предупреждений и уведомлений безопасности
Рассмотрим несколько примеров сообщений, которые может отправлять сервер.
Мониторинг портов и сокетов
Более подробную информацию о мониторинге портов и сокетов можно найти в этой статье. Просто создайте в Linux Socket Monitor задачу, которая будет запускать команду mailx, чтобы сообщить о новом открытом порте/сокете.
Мониторинг с помощью сценариев Bash
В случае особой необходимости (например для мониторинга использования памяти, дискового пространства, авторизации и т.п.) можно использовать один из тысячи доступных сценариев bash.
Сценарии bash (сценарии оболочки) – это небольшие приложения, предназначенные для выполнения быстрых задач. Их просто создавать, потому их часто используют в своей работе системные администраторы.
Выбрав сценарий для выполнения необходимой задачи, создайте пустой файл и сохраните в нём исполняемый код сценария.
Например, вам нужно получать уведомления в случае если дисковое пространство подходит к концу.
Для этого найдите в интернете сценарий от Linux Jornal. Перейдите по ссылке и вы получите доступ к коду.
Создайте новый файл:
Скопируйте и вставьте в него сценарий:
#!/bin/bash
CURRENT=$(df / | grep / | awk ‘< print $5>‘ | sed ‘s/%//g’)
THRESHOLD=90
if [ «$CURRENT» -gt «$THRESHOLD» ] ; then
mail -s ‘Disk Space Alert’ mailid@domainname.com
Примечание: Замените mailid@domainname.com своим адресом.
Чтобы закрыть и сохранить файл, нажмите CTRL+X и Y.
Теперь у вас есть сценарий monitor_disk_space.sh. Сделайте этот файл исполняемым.
$ chmod +x monitor_disk_space.sh
Запустите этот файл:
Затем настройте планировщик cron для автоматического регулярного запуска сценария.
Примечание: Больше о работе с cron можно узнать в этой статье.
Попробуйте создать ещё один сценарий. К примеру, можно отслеживать использование дискового пространства и отправлять сообщения, если пространства осталось мало. Такой сценарий можно найти здесь.
Создайте пустой файл:
Скопируйте и вставьте следующий код:
#!/bin/bash
LIMIT=’80’
#Here we declare variable LIMIT with max of used spave
DIR=’/var’
#Here we declare variable DIR with name of directory
MAILTO=’monitor@gmail.com’
#Here we declare variable MAILTO with email address
SUBJECT=»$DIR disk usage»
#Here we declare variable SUBJECT with subject of email
MAILX=’mailx’
#Here we declare variable MAILX with mailx command that will send email
which $MAILX > /dev/null 2>&1
#Here we check if mailx command exist
if ! [ $? -eq 0 ] #We check exit status of previous command if exit status not 0 this mean that mailx is not installed on system
then
echo «Please install $MAILX»
#Here we warn user that mailx not installed
exit 1
#Here we will exit from script
fi
cd $DIR
#To check real used size, we need to navigate to folder
USED=`df . | awk ‘
#This line will get used space of partition where we currently, this will use df command, and get used space in %, and after cut % from value.
if [ $USED -gt $LIMIT ] #If used space is bigger than LIMIT
then
du -sh $
#This will print space usage by each directory inside directory $DIR, and after MAILX will send email with SUBJECT to MAILTO
fi
Отредактируйте код согласно вашим требованиям и сохраните его (CTRL+X и Y).
Чтобы сделать файл исполняемым, запустите команду:
Источник