Linux

Как настроить оповещения по электронной почте в Linux, используя Gmail или SMTP

Машины Linux могут потребовать административного вмешательства бесчисленными способами, но без входа в них вручную, как бы вы узнали об этом? Вот как настроить электронную почту, чтобы получать уведомления, когда ваши машины хотят нежной любви и внимания.

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

обзор

Конфигурирование возможности отправки электронной почты для машины сразу дает нам результат, что многие проблемы администрирования системы и критические предупреждения будут автоматически отправлены назначенному администратору этой системы. Наиболее примечательным примером является то, что ошибки выполнения заданий cron попадают в эту категорию и поэтому уведомят администратора о том, что возникла проблема с запланированными заданиями, такими как резервное копирование, как только они возникнут, включая вывод стандартной ошибки (stderr) в отчете. Мы также сможем включить электронную почту из сценариев bash.

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

В системах на основе Debian, кроме многих очень универсальных программ, связанных с электронной почтой, есть также пакет ssmtp , который хорошо подходит, если все, что вам нужно, — это иметь агента для отправки электронной почты с использованием другого почтового сервера (MTA), без необходимости Для этого настройте всю конфигурацию postfix или sendmail.

Предпосылки и предположения

Прежде чем мы начнем, вы должны убедиться, что все эти условия выполнены:

  • У вас есть SMTP-сервер, который может получать сообщения электронной почты с ваших компьютеров и отправлять их получателю (т.е. вашему корпоративному обмену или Gmail).
  • У вас есть учетные данные для пользователя, который может отправлять электронную почту на этом сервере (например, почтовый ящик или учетная запись Gmail).
  • Эта процедура использовалась и тестировалась на системах * Debian (Lenny, Ubuntu & Mint), поэтому, если вы не участвуете в одном из этих дистрибутивов, ваш пробег может отличаться.
  • Вы увидите, что я использую VIM в качестве программы-редактора, просто потому, что я к этому привык… вы можете использовать любой другой редактор, который вам нравится.

* Он также используется и тестируется на DD-WRT , но будет рассмотрен только в будущей статье (обновление: разве не в будущем?) Из-за изменений в настройках и конфигурации, необходимых для такой встроенной платформы .

Настроить

Чтобы установить пакет ssmtp (Simple SMTP), используйте следующую команду:

sudo aptitude install ssmtp

Затем отредактируйте файл конфигурации:

sudo vim /etc/ssmtp/ssmtp.conf

Отрегулируйте и добавьте при необходимости следующие параметры:

  • root=username@gmail.com

    Измените его с администратора почты на электронную почту администратора машины.

  • mailhub=smtp.gmail.com:587

    Ваш почтовый сервер в нашем случае это Gmail, поэтому мы должны указать порт 587, для обычных SMTP-серверов это обычно не требуется.

  • hostname=username@gmail.com

    Обычно имя машины автоматически заполняется при настройке пакета, если на машине есть почтовый ящик, это должно подойти, но если его нет, или имя не совпадает с настройкой почтового ящика соответственно.

  • UseSTARTTLS=YES

    Включить TLS для безопасного сеанса связи.

  • AuthUser=username

    Имя пользователя отправляющего почтового ящика.

  • AuthPass=password

    Пароль отправляющего почтового ящика.

  • FromLineOverride=yes

    Посылает имя хоста вместо root [root@hostname.FQDN].

Чтобы поле по умолчанию (root) «from» стало именем сервера, отредактируйте файл / etc / ssmtp / revaliases :

sudo vim /etc/ssmtp/revaliases

И добавьте в него желаемый перевод, который в нашем примере Gmail будет следующим:

root:machine-name@some-domain.com:smtp.gmail.com

Невероятно, это все, что вам нужно сделать, чтобы включить способность. Отныне, машина будет отправлять вам электронные письма, когда что-то происходит.

Подтверждение настройки

Давайте проверим правильность настройки ssmtp, отправив электронное письмо:


echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv your-email@some-domain.com

«-Vvv» включает вывод многословия, так что не пугайтесь… на тот случай, если у вас возникнут какие-либо проблемы, у вас будет какой-то вывод в Google.
Если все идет хорошо, вы должны получить письмо через пару секунд.

Мы будем показывать скриптовые примеры этой установки в следующих статьях.


Пусть ваши электронные письма не будут прыгать 🙂

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux