Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:отравка_почты_для_root_на_внешний_ящик [2015/08/20 14:01] |
wiki:отравка_почты_для_root_на_внешний_ящик [2015/09/04 14:16] (текущий) [postfix] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Отравка почты для root на внешний ящик ====== | + | ====== Отправка почты для root на внешний ящик ====== |
| Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим. | Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим. | ||
| + | Решить вопрос можно двумя (как минимум) путями: | ||
| + | |||
| + | ===== postfix ===== | ||
| Задача разбивается на 2 части: | Задача разбивается на 2 части: | ||
| Строка 11: | Строка 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}} |