URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 76570
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Настройка msmtp для отправки уведом..."

Отправлено auto_tips , 22-Апр-11 12:29 
Системные демоны устанавливаемые на Linux-машинах как правило уведомляют пользователя root о важных событиях происходящих на сервере использую командный интерфейс sendmail или mail.

Для того, чтобы системные демоны отправляли почту не на локально настроенный MTA пользователю root@localhost или root@servername а другой адрес email для этого можно:

1. Настроить на использование smarthost локальный mta идущий в стандартной установке ОС, например для Debian это Exim, для Ubuntu - Postfix. Но при этом сам smarthost не должен отбрасывать от вашего сервера почту, что не всегда возможно!

2. Использовать что-то еще ...

3. Использовать msmtp

ВАЖНО! Многие smtp требуют чтобы поле "From:" было равно тому, под кем серверу представляется MUA. В достижении этого нам поможет msmtp - мощный почтовый консольный клиент (MUA) с интерфейсом sendmail.

Одно из очень необходимых качеств которого является умение заменять Отправителя на Отправителя указанного в конфигурации /etc/msmtprc

Поэтому его очень легко использовать в качестве MUA отправляющего почту администратору сервера через SMTP популярных почтовых провайдеров, например smtp.yandex.ru, smtp.google.ru и т.д.

Для достижения поставленной цели на Debian based системах необходимо выполнить следующие шаги :

1. Устанавливаем msmtp

   aptitude -R -y install msmtp

2. Редактируем /etc/msmtprc

   defaults

   account default
   host smtp.yandex.ru
   port 25
   auth on
   tls on
   tls_starttls on
   tls_certcheck off
   user user@example.com
   password adminplaintextpassword
   from admin@example.com
   logfile msmtp.log

2. Удаляем символическую ссылку, на всякий случай

   rm /usr/sbin/sendmail

3. Делаем символическую ссылку, чтобы программы использующие стандартный интерфейс файла sendmail, использовали при этом msmtp. а не например установленный exim, postfix, nullmailer и т.д.

   ln -s /usr/bin/msmtp /usr/sbin/sendmail

4. Проверяем отправку стандартным способом через команду sendmail или mail

5. Настраиваем, например, mdadm, smartd через указание в конфигах нужного email администратора.

Примечание: в mdadm.conf можно указать только один email

Проверить отправку почты mdadm можно командой:

   mdadm --monitor --scan --test --oneshot

Проверить отправку почты smartd можно отредактировав /etc/smartd.conf обязательно добавив параметры "-m admin@example.com" и "-M test" в строку конфигурации, например:

   DEVICESCAN ... -m admin@tech-club.ru -M test ...

DEVICESCAN - для всех устройств в системе.

и выполнив перезапуск smartd

   invoke-rc.d smartd restart


URL: http://wiki.opennet.ru/Msmtp https://www.opennet.ru/openforum/vsluhforumID1/91348.html#7
Обсуждается: https://www.opennet.ru/tips/info/2568.shtml


Содержание

Сообщения в этом обсуждении
"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено m0ps , 22-Апр-11 12:29 
не знаю как в линуксе, но в фре достаточно в хомяке рута создать файл .forward содержащий одну строчку - адрес мыла на которое пересылать письма

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено rico , 22-Апр-11 14:30 
rm /usr/sbin/sendmail
ln -s /usr/bin/msmtp /usr/sbin/sendmail

дааа... стиль администрирования доставляет
руки бы поотрубал...


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 22-Апр-11 14:48 
> rm /usr/sbin/sendmail
> ln -s /usr/bin/msmtp /usr/sbin/sendmail
> дааа... стиль администрирования доставляет
> руки бы поотрубал...

предложи свой вариант. буду признателен


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено k , 25-Апр-11 16:28 
unlink

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено rico , 27-Апр-11 14:17 
> unlink

при чем здесь это
патчи надо делать и в апстрим отправлять, а не прибивать файлы в системе
не принял апстрим - делаешь свое хранилище патчей
благо средств для этого...

а то потом вылавливай эти убитые симлинки по всей системе


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 27-Апр-11 15:41 
>> unlink
> при чем здесь это
> патчи надо делать и в апстрим отправлять, а не прибивать файлы в
> системе
> не принял апстрим - делаешь свое хранилище патчей
> благо средств для этого...
> а то потом вылавливай эти убитые симлинки по всей системе

например я до этого еще не до рос ;)


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено 777 , 22-Апр-11 13:14 
или в /etc/mail/aliases раскоментировать # root: me@my.domain и сделать команду newaliases

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено Belya , 22-Апр-11 15:23 
отлично работает
юзаю такой вариант на 10+ серверах + мыло на GMail

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 22-Апр-11 15:27 
> отлично работает
> юзаю такой вариант на 10+ серверах + мыло на GMail

видимо gmail не яндекс ;)


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено netc , 22-Апр-11 13:20 
а вы попробуйте указать там *@yandex.ru или *@gmail.com ...

Скажите работает ?

просто например smtp.yandex.ru не будет принимать почту у не авторизованных.


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено Sadok , 22-Апр-11 14:01 
э... щито? ты ж почту на mx шлешь, а не через их smtp для дяди Васи. брать должны для валидного ящика.

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 22-Апр-11 14:07 
> э... щито? ты ж почту на mx шлешь, а не через их
> smtp для дяди Васи. брать должны для валидного ящика.

не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется mua


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено Sadok , 22-Апр-11 14:11 
>> э... щито? ты ж почту на mx шлешь, а не через их
>> smtp для дяди Васи. брать должны для валидного ящика.
> не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
> mua

какой mua? почту mta шлет. "я почтальон печкин, примите посылку для вашего мальчика". и если мальчик такой есть - должны брать.

я к тому, что алиасы замечательно работают


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 22-Апр-11 14:52 
>>> э... щито? ты ж почту на mx шлешь, а не через их
>>> smtp для дяди Васи. брать должны для валидного ящика.
>> не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
>> mua
> какой mua? почту mta шлет. "я почтальон печкин, примите посылку для вашего
> мальчика". и если мальчик такой есть - должны брать.
> я к тому, что алиасы замечательно работают

а проверка на ptr, _spf записи ?

если бы они принимали всю почту, у тех у кого ящик на Яндексе думаю бы было много много спама


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено Sadok , 22-Апр-11 16:09 
> а проверка на ptr, _spf записи ?
> если бы они принимали всю почту, у тех у кого ящик на
> Яндексе думаю бы было много много спама

Видимо, гугл (гугл апп) этим не страдает. PTR у меня нет, но зона прямая есть и SPF там прописан. Про яндекс не в курсе )


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено Анон , 22-Апр-11 20:58 
яндекс и мыло.ру точно не принимают т.к. лично убедился в этом когда хотел почту с сайта форвардить на личный сервер. Принимать то принимал, а вот отправлять не получалось, тем более из-за "белого", но динамического ip.

"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено vscoder , 22-Апр-11 13:36 
использую для этих целей и в линуксе и во фряхе ssmtp, судя по описанию имеет схожий функционал

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 22-Апр-11 13:54 
> использую для этих целей и в линуксе и во фряхе ssmtp, судя
> по описанию имеет схожий функционал

ну в принципе да. и он умеет override. по man'у


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено MooSE , 23-Апр-11 01:24 
Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 25-Апр-11 09:28 
> Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в
> дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.

да наверное вы правы!

сейчас поправлю, спасибо за волшебный пендель ;)


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено ch , 23-Апр-11 21:55 
> tls_certcheck off

почему?


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 25-Апр-11 08:53 
>> tls_certcheck off
> почему?

да х.з. , чтобы всегда отправлял наверное, ну можно и on сделать.

можно и включить - это по желанию админа


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено slava_ , 25-Апр-11 13:46 
А что будет в случае проблем с инетом? Отправляемые письма пропадут, или полежат в очереди и уйдут позже?

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 25-Апр-11 13:51 
> А что будет в случае проблем с инетом? Отправляемые письма пропадут, или
> полежат в очереди и уйдут позже?

пропадут, увы ;(


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено sHaggY_caT , 26-Апр-11 22:55 
ssmtp, имхо, мощнее.
Мы тоже его используем...
Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо в/через фирменный Postfix-сервер.

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 27-Апр-11 09:12 
> ssmtp, имхо, мощнее.
> Мы тоже его используем...
> Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
> в/через фирменный Postfix-сервер.

насколько я тебя знаю ... тебе можно верить.

обязательно обращу на него более пристальное внимание.

спасибо.

хочу еще заметить, что msmtp выбран еще и потому, что существует развивающийся win32 порт.

кстати я использую его на w2k8 серверах для уведомлений о архивации баз.

один инструмент - разные платформы - это хорошо.


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 27-Апр-11 09:15 
> ssmtp, имхо, мощнее.
> Мы тоже его используем...
> Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
> в/через фирменный Postfix-сервер.

кстати, по ходу дела возник еще один вопрос:

а ssmtp складывает в очередь письма для отправки или нет ?

т.е. он умеет держать почту в кэше, если она не может быть доставлена в момент его непроизводственного вызова ?


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено sHaggY_caT , 27-Апр-11 11:04 

> а ssmtp складывает в очередь письма для отправки или нет ?
> т.е. он умеет держать почту в кэше, если она не может быть
> доставлена в момент его непроизводственного вызова ?

Нет, не может. Это должно быть реализовано на стороне почтового сервера. У нас, на всякий случай, ошибки такого рода мониторятся Zabbix-ом.


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено 88 , 27-Апр-11 14:13 
Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только через изменение /etc/passwd ???
# cat /etc/passwd
root:x:0:0:Serv5:/root:/bin/bash

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено sHaggY_caT , 27-Апр-11 14:28 
> Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только
> через изменение /etc/passwd ???
> # cat /etc/passwd
> root:x:0:0:Serv5:/root:/bin/bash

В ssmtp нет, у него есть специальный файлик алиасов.


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено 88 , 27-Апр-11 14:37 
# cat revaliases
root:serv5@mydomen.ru

получаю сообщения с "From: root<serv5@mydomen.ru>"
Подскажите пожалуйста как сделать  "From: Serv5<serv5@mydomen.ru>" ???


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено sHaggY_caT , 27-Апр-11 21:30 
> # cat revaliases
> root:serv5@mydomen.ru
> получаю сообщения с "From: root<serv5@mydomen.ru>"
> Подскажите пожалуйста как сделать  "From: Serv5<serv5@mydomen.ru>" ???

Вот пример с реального сервера:

=====================================
[shaggycat@web** ~]$ cat /etc/ssmtp/revaliases                                                              
# 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:admin@***.ru:smtp.spaceweb.ru:2525
apache:admin@***.ru:smtp.spaceweb.ru:2525
=====


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено avb , 27-Апр-11 09:24 
А почему просто posfix не настроить? ведь он прекрасно умеет работать в качестве почтового клиента, я его использую именно для таких целей.

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 27-Апр-11 09:28 
> А почему просто posfix не настроить? ведь он прекрасно умеет работать в
> качестве почтового клиента, я его использую именно для таких целей.

да, но postfix - это все таки полноценный mta

а есть пруф линк чего почитать по поводу работы в качестве  клиента?


Все же существуют и другие BEST PRACTIC! С чем не могу не согласится.

А поле from он умеет менять на нужное ?


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено avb , 27-Апр-11 09:43 
Да, согласен, это MTA его настройка, однако в таком качестве несколько неочевидна, но также возможна. У меня имеется книга "Postfix подробное руководство" и как ни странно http://www.postfix.org/ тоже помогает :). Поле From умеет менять, парольную авторизацию умеет тоже. У меня изменение дефолтного конфига потребовало внести директивы relayhost, masquerade_domains, smtp_sasl_auth_enable = yes, smtp_sasl_password_maps, sender_canonical_maps. Ну и создать соответсвующие карты и прохешировать их. Описание директив на постфикс орг есть.

"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено sHaggY_caT , 27-Апр-11 11:07 
> Да, согласен, это MTA его настройка, однако в таком качестве несколько неочевидна,
> но также возможна. У меня имеется книга "Postfix подробное руководство" и
> как ни странно http://www.postfix.org/ тоже помогает :). Поле From умеет менять,
> парольную авторизацию умеет тоже. У меня изменение дефолтного конфига потребовало внести
> директивы relayhost, masquerade_domains, smtp_sasl_auth_enable = yes, smtp_sasl_password_maps,
> sender_canonical_maps. Ну и создать соответсвующие карты и прохешировать их. Описание
> директив на постфикс орг есть.

Он тяжелый, для нагруженной VPS под какой-нибудь веб-сервер, где каждый мегабайт privvmpages (kmemsize, лишние сокеты и т д) имеет значение, ssmtp/msmtp, имхо, правильнее)
Да и они дают возможность отправлять почту из скриптов через "белый" IP


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено netc , 27-Апр-11 13:55 
>> Да, согласен, это MTA его настройка, однако в таком качестве несколько неочевидна,
>> но также возможна. У меня имеется книга "Postfix подробное руководство" и
>> как ни странно http://www.postfix.org/ тоже помогает :). Поле From умеет менять,
>> парольную авторизацию умеет тоже. У меня изменение дефолтного конфига потребовало внести
>> директивы relayhost, masquerade_domains, smtp_sasl_auth_enable = yes, smtp_sasl_password_maps,
>> sender_canonical_maps. Ну и создать соответсвующие карты и прохешировать их. Описание
>> директив на постфикс орг есть.
> Он тяжелый, для нагруженной VPS под какой-нибудь веб-сервер, где каждый мегабайт privvmpages
> (kmemsize, лишние сокеты и т д) имеет значение, ssmtp/msmtp, имхо, правильнее)
> Да и они дают возможность отправлять почту из скриптов через "белый" IP

короче как обычно, под определенные задачи - определенный инструмент.

да для сети локальной postfix может вполне подойти - не помеха, а только преимущества

а на счет vps-а и я согласен - там не то что бы супер таки он был нужен


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено avb077 , 27-Апр-11 19:07 
> Он тяжелый, для нагруженной VPS под какой-нибудь веб-сервер, где каждый мегабайт
> privvmpages (kmemsize, лишние сокеты и т д) имеет значение, ssmtp/msmtp, имхо, правильнее)

Ну если задача стоит в минимизации ресурсов то конечно mta оттуда лучше убрать.


"Настройка msmtp для отправки уведомлений администратору по E-Mail"
Отправлено миха228 , 27-Апр-11 22:35 
> ВАЖНО! Многие smtp требуют чтобы поле "From:" было равно тому, под кем серверу

представляется MUA.

чушь собачья, дальше не читал.


"Настройка msmtp для отправки уведомлений администратору по E..."
Отправлено xdsl , 03-Май-11 13:35 
Давно использую эту прогу в php-скриптах. Достаточно в php.ini написать sendmail_path = /usr/bin/msmtp -t