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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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}}