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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:отравка_почты_для_root_на_внешний_ящик [2015/08/19 13:29]
wiki:отравка_почты_для_root_на_внешний_ящик [2015/09/04 14:16] (текущий)
[postfix]
Строка 1: Строка 1:
-====== Отравка почты для root на внешний ящик ======+====== Отправка почты для root на внешний ящик ======
  
 Задался вопросом а как отслеживать события на подконтрольных серверах,​ вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /​var/​mail/​root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим. Задался вопросом а как отслеживать события на подконтрольных серверах,​ вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /​var/​mail/​root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим.
 +Решить вопрос можно двумя (как минимум) путями:​
  
-===== Вариант 1: postfix =====+===== postfix =====
  
 Задача разбивается на 2 части: Задача разбивается на 2 части:
Строка 13: Строка 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>​
  
-===== Вариант 2: ssmtp =====+Вот и все, почта для root будет падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного из разделов в RAID1.
  
-Второй вариант более легковесный и быстрее настраивается, но он менее гибкий в том планечто для отправки почты ​можно ​использовать ​только ​сам ssmtp, который менее ​удобен, чем, например,​ mutt в части описания ​темы письма и добавления вложения.+===== ssmtp ===== 
 +Такжевместо ​postfix, можно ​воспользоваться утилитой ssmtp.
  
-<note tip>Стрелками отмечены строки, которые нужно исправить</​note>​+==== Установка ====
  
-/​etc/​ssmtp/​ssmtp.conf 
 <​code>​ <​code>​
-#sSMTP sendmail +sudo apt-get install ssmtp 
-+</code>
-# 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 consultedCommonly mailhosts are named mail.domain.com + 
-mailhub=smtp.yandex.ru:​465+Редактируем файл **/​etc/​ssmtp/​ssmtp.conf** 
 +<​code>​ 
 +root= 
 +mailhub=smtp.yandex.ru:​465 ​# SMTP-сервер яндекса
 UseTLS=Yes UseTLS=Yes
-AuthUser=user@yandex.ru ​             <​---------------------------- +AuthUser=почта@с_которой_отсылаем # Почтовый ящик 
-AuthPass=passwd ​             ​<----------------------------+AuthPass=pass # Пароль 
 +hostname=localhost 
 +FromLineOverride=YES 
 +</code>
  
-# Where will the mail seem to come from? +Настраиваем отправителей писем:
-#​rewriteDomain=+
  
-# The full hostname +Редактируем файл **/​etc/​ssmtp/​revaliases** 
-hostname=localhost+<​code>​ 
 +root:​почта@с_которой_отсылаем:​smtp.yandex.ru:​465 
 +user:​почта@с_которой_отсылаем:​smtp.yandex.ru:​465 
 +</​code>​
  
-# Are users allowed to set their own From: address? +Измените ​user на пользователя,​ который заведен в вашей системе. 
-# YES - Allow the user to specify their own From: address + 
-# NO - Use the system generated From: address +Проверим настройки,​ отправив тестовое письмо 
-FromLineOverride=NO+ 
 +<​code>​ 
 +echo test | sendmail -v почта@куда_отсылаем
 </​code>​ </​code>​
  
-/​etc/​ssmtp/​revaliases.conf+Теперь вы можете отправлять почту из консоли и скриптов. 
 +Однако,​ таким способом системная почта для root и пользователей отправляться не будет. 
 +Чтобы заставить ssmtp работать и с системной почтой,​ выполним следующие действия:​ 
 <​code>​ <​code>​
-# sSMTP aliases +sudo rm /​usr/​sbin/​sendmail 
- +</​code>​ 
-# Format: local_account:​outgoing_address:​mailhub +<​code>​ 
-+sudo nano /​usr/​sbin/​sendmail 
-# Exampleroot:your_login@your.domain:​mailhub.your.domain[:​port] +</​code>​ 
-# where [:port] is an optional port number that defaults to 25. +Пишем следующее: 
-root:user@yandex.ru:​smtp.yandex.ru:​465 ​             <​----------------------------+<​code>​ 
 +#!/bin/sh 
 +sed -r \ 
 +-e '​s/​^From.*$/FromServer <​почта@с_которой_отсылаем>/'​ \ 
 +-e 's/^To: .*$/Toпочта@куда_отсылаем/'​ \ 
 +| /​usr/​sbin/​ssmtp '​почта@куда_отсылаем' ​
 </​code>​ </​code>​
  
-Вот и все, почта для root будет ​падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного ​из разделов в RAID1.+Даём права на исполнение 
 +<​code>​ 
 +sudo chmod +x /​usr/​sbin/​sendmail  
 +</​code>​
  
 +<note warning>​Обратите внимание,​ теперь почта будет отправляться только на адрес, который указали в /​usr/​sbin/​sendmail,​
 +независимо от того, какие электронные адреса указаны в консоли и скриптах.
 +</​note>​
  
-{{tag>​отравка_почты_для_root_на_внешний_ящик}}+{{tag>​отправка_почты_для_root_на_внешний_ящик ​ssmtp}}