Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
wiki:отравка_почты_для_root_на_внешний_ящик [2015/08/16 19:00] создано |
wiki:отравка_почты_для_root_на_внешний_ящик [2015/09/04 14:16] (текущий) [postfix] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Отравка почты для root на внешний ящик ====== | + | ====== Отправка почты для root на внешний ящик ====== |
- | Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим. Итак задача разбивается на 2 части: | + | Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим. |
+ | Решить вопрос можно двумя (как минимум) путями: | ||
+ | |||
+ | ===== postfix ===== | ||
+ | |||
+ | Задача разбивается на 2 части: | ||
- Научить систему отправлять почту. И если вам не нужно настраивать полноценный почтовый сервер с доступом в мир, то проще всего завести relay, например через Яндекс. Как это сделать я уже писал ранее http://help.ubuntu.ru/wiki/postfix_relay_yandex | - Научить систему отправлять почту. И если вам не нужно настраивать полноценный почтовый сервер с доступом в мир, то проще всего завести relay, например через Яндекс. Как это сделать я уже писал ранее http://help.ubuntu.ru/wiki/postfix_relay_yandex | ||
- Перенаправить почту для root в наш внешний почтовый ящик. | - Перенаправить почту для root в наш внешний почтовый ящик. | ||
Строка 9: | Строка 14: | ||
<code> | <code> | ||
sudo su | sudo su | ||
- | echo "root: my@email.ru" > /etc/aliases | + | echo "root: my@email.ru" >> /etc/aliases |
newaliases</code> | newaliases</code> | ||
Вот и все, почта для root будет падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного из разделов в RAID1. | Вот и все, почта для root будет падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного из разделов в RAID1. | ||
+ | ===== ssmtp ===== | ||
+ | Также, вместо postfix, можно воспользоваться утилитой ssmtp. | ||
+ | |||
+ | ==== Установка ==== | ||
+ | |||
+ | <code> | ||
+ | sudo apt-get install ssmtp | ||
+ | </code> | ||
+ | |||
+ | ==== Настройка ==== | ||
+ | |||
+ | Редактируем файл **/etc/ssmtp/ssmtp.conf** | ||
+ | <code> | ||
+ | root= | ||
+ | mailhub=smtp.yandex.ru:465 # SMTP-сервер яндекса | ||
+ | UseTLS=Yes | ||
+ | AuthUser=почта@с_которой_отсылаем # Почтовый ящик | ||
+ | AuthPass=pass # Пароль | ||
+ | hostname=localhost | ||
+ | FromLineOverride=YES | ||
+ | </code> | ||
+ | |||
+ | Настраиваем отправителей писем: | ||
+ | |||
+ | Редактируем файл **/etc/ssmtp/revaliases** | ||
+ | <code> | ||
+ | root:почта@с_которой_отсылаем:smtp.yandex.ru:465 | ||
+ | user:почта@с_которой_отсылаем:smtp.yandex.ru:465 | ||
+ | </code> | ||
+ | |||
+ | Измените user на пользователя, который заведен в вашей системе. | ||
+ | |||
+ | Проверим настройки, отправив тестовое письмо | ||
+ | |||
+ | <code> | ||
+ | echo test | sendmail -v почта@куда_отсылаем | ||
+ | </code> | ||
+ | |||
+ | Теперь вы можете отправлять почту из консоли и скриптов. | ||
+ | Однако, таким способом системная почта для root и пользователей отправляться не будет. | ||
+ | Чтобы заставить ssmtp работать и с системной почтой, выполним следующие действия: | ||
+ | |||
+ | <code> | ||
+ | sudo rm /usr/sbin/sendmail | ||
+ | </code> | ||
+ | <code> | ||
+ | sudo nano /usr/sbin/sendmail | ||
+ | </code> | ||
+ | Пишем следующее: | ||
+ | <code> | ||
+ | #!/bin/sh | ||
+ | sed -r \ | ||
+ | -e 's/^From: .*$/From: Server <почта@с_которой_отсылаем>/' \ | ||
+ | -e 's/^To: .*$/To: почта@куда_отсылаем/' \ | ||
+ | | /usr/sbin/ssmtp 'почта@куда_отсылаем' | ||
+ | </code> | ||
+ | |||
+ | Даём права на исполнение | ||
+ | <code> | ||
+ | sudo chmod +x /usr/sbin/sendmail | ||
+ | </code> | ||
+ | |||
+ | <note warning>Обратите внимание, теперь почта будет отправляться только на адрес, который указали в /usr/sbin/sendmail, | ||
+ | независимо от того, какие электронные адреса указаны в консоли и скриптах. | ||
+ | </note> | ||
- | {{tag>отравка_почты_для_root_на_внешний_ящик}} | + | {{tag>отправка_почты_для_root_на_внешний_ящик ssmtp}} |