Это старая версия документа.


Отравка почты для root на внешний ящик

Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим.

Вариант 1: postfix

Задача разбивается на 2 части:

  1. Научить систему отправлять почту. И если вам не нужно настраивать полноценный почтовый сервер с доступом в мир, то проще всего завести relay, например через Яндекс. Как это сделать я уже писал ранее http://help.ubuntu.ru/wiki/postfix_relay_yandex
  2. Перенаправить почту для root в наш внешний почтовый ящик.

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

sudo su
echo "root: my@email.ru" > /etc/aliases
newaliases

Вот и все, почта для root будет падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного из разделов в RAID1.

Вариант 2: ssmtp

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

Стрелками отмечены строки, которые нужно исправить

/etc/ssmtp/ssmtp.conf

#sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=user@yandex.ru              <----------------------------

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.yandex.ru:465
UseTLS=Yes
AuthUser=user@yandex.ru              <----------------------------
AuthPass=passwd              <----------------------------

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=localhost

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=NO

/etc/ssmtp/revaliases.conf

# sSMTP aliases
# 
# Format:	local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:user@yandex.ru:smtp.yandex.ru:465              <----------------------------