Системные демоны устанавливаемые на 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.log2. Удаляем символическую ссылку, на всякий случай
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 http://www.opennet.me/openforum/vsluhforumID1/91348.html#7
Обсуждается: http://www.opennet.me/tips/info/2568.shtml
не знаю как в линуксе, но в фре достаточно в хомяке рута создать файл .forward содержащий одну строчку - адрес мыла на которое пересылать письма
rm /usr/sbin/sendmail
ln -s /usr/bin/msmtp /usr/sbin/sendmailдааа... стиль администрирования доставляет
руки бы поотрубал...
> rm /usr/sbin/sendmail
> ln -s /usr/bin/msmtp /usr/sbin/sendmail
> дааа... стиль администрирования доставляет
> руки бы поотрубал...предложи свой вариант. буду признателен
unlink
> unlinkпри чем здесь это
патчи надо делать и в апстрим отправлять, а не прибивать файлы в системе
не принял апстрим - делаешь свое хранилище патчей
благо средств для этого...а то потом вылавливай эти убитые симлинки по всей системе
>> unlink
> при чем здесь это
> патчи надо делать и в апстрим отправлять, а не прибивать файлы в
> системе
> не принял апстрим - делаешь свое хранилище патчей
> благо средств для этого...
> а то потом вылавливай эти убитые симлинки по всей системенапример я до этого еще не до рос ;)
или в /etc/mail/aliases раскоментировать # root: me@my.domain и сделать команду newaliases
отлично работает
юзаю такой вариант на 10+ серверах + мыло на GMail
> отлично работает
> юзаю такой вариант на 10+ серверах + мыло на GMailвидимо gmail не яндекс ;)
а вы попробуйте указать там *@yandex.ru или *@gmail.com ...Скажите работает ?
просто например smtp.yandex.ru не будет принимать почту у не авторизованных.
э... щито? ты ж почту на mx шлешь, а не через их smtp для дяди Васи. брать должны для валидного ящика.
> э... щито? ты ж почту на mx шлешь, а не через их
> smtp для дяди Васи. брать должны для валидного ящика.не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется mua
>> э... щито? ты ж почту на mx шлешь, а не через их
>> smtp для дяди Васи. брать должны для валидного ящика.
> не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
> muaкакой mua? почту mta шлет. "я почтальон печкин, примите посылку для вашего мальчика". и если мальчик такой есть - должны брать.
я к тому, что алиасы замечательно работают
>>> э... щито? ты ж почту на mx шлешь, а не через их
>>> smtp для дяди Васи. брать должны для валидного ящика.
>> не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
>> mua
> какой mua? почту mta шлет. "я почтальон печкин, примите посылку для вашего
> мальчика". и если мальчик такой есть - должны брать.
> я к тому, что алиасы замечательно работаюта проверка на ptr, _spf записи ?
если бы они принимали всю почту, у тех у кого ящик на Яндексе думаю бы было много много спама
> а проверка на ptr, _spf записи ?
> если бы они принимали всю почту, у тех у кого ящик на
> Яндексе думаю бы было много много спамаВидимо, гугл (гугл апп) этим не страдает. PTR у меня нет, но зона прямая есть и SPF там прописан. Про яндекс не в курсе )
яндекс и мыло.ру точно не принимают т.к. лично убедился в этом когда хотел почту с сайта форвардить на личный сервер. Принимать то принимал, а вот отправлять не получалось, тем более из-за "белого", но динамического ip.
использую для этих целей и в линуксе и во фряхе ssmtp, судя по описанию имеет схожий функционал
> использую для этих целей и в линуксе и во фряхе ssmtp, судя
> по описанию имеет схожий функционалну в принципе да. и он умеет override. по man'у
Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.
> Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в
> дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.да наверное вы правы!
сейчас поправлю, спасибо за волшебный пендель ;)
> tls_certcheck offпочему?
>> tls_certcheck off
> почему?да х.з. , чтобы всегда отправлял наверное, ну можно и on сделать.
можно и включить - это по желанию админа
А что будет в случае проблем с инетом? Отправляемые письма пропадут, или полежат в очереди и уйдут позже?
> А что будет в случае проблем с инетом? Отправляемые письма пропадут, или
> полежат в очереди и уйдут позже?пропадут, увы ;(
ssmtp, имхо, мощнее.
Мы тоже его используем...
Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо в/через фирменный Postfix-сервер.
> ssmtp, имхо, мощнее.
> Мы тоже его используем...
> Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
> в/через фирменный Postfix-сервер.насколько я тебя знаю ... тебе можно верить.
обязательно обращу на него более пристальное внимание.
спасибо.
хочу еще заметить, что msmtp выбран еще и потому, что существует развивающийся win32 порт.
кстати я использую его на w2k8 серверах для уведомлений о архивации баз.
один инструмент - разные платформы - это хорошо.
> ssmtp, имхо, мощнее.
> Мы тоже его используем...
> Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
> в/через фирменный Postfix-сервер.кстати, по ходу дела возник еще один вопрос:
а ssmtp складывает в очередь письма для отправки или нет ?
т.е. он умеет держать почту в кэше, если она не может быть доставлена в момент его непроизводственного вызова ?
> а ssmtp складывает в очередь письма для отправки или нет ?
> т.е. он умеет держать почту в кэше, если она не может быть
> доставлена в момент его непроизводственного вызова ?Нет, не может. Это должно быть реализовано на стороне почтового сервера. У нас, на всякий случай, ошибки такого рода мониторятся Zabbix-ом.
Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только через изменение /etc/passwd ???
# cat /etc/passwd
root:x:0:0:Serv5:/root:/bin/bash
> Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только
> через изменение /etc/passwd ???
> # cat /etc/passwd
> root:x:0:0:Serv5:/root:/bin/bashВ ssmtp нет, у него есть специальный файлик алиасов.
# cat revaliases
root:serv5@mydomen.ruполучаю сообщения с "From: root<serv5@mydomen.ru>"
Подскажите пожалуйста как сделать "From: Serv5<serv5@mydomen.ru>" ???
> # 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
=====
А почему просто posfix не настроить? ведь он прекрасно умеет работать в качестве почтового клиента, я его использую именно для таких целей.
> А почему просто posfix не настроить? ведь он прекрасно умеет работать в
> качестве почтового клиента, я его использую именно для таких целей.да, но postfix - это все таки полноценный mta
а есть пруф линк чего почитать по поводу работы в качестве клиента?
Все же существуют и другие BEST PRACTIC! С чем не могу не согласится.А поле from он умеет менять на нужное ?
Да, согласен, это MTA его настройка, однако в таком качестве несколько неочевидна, но также возможна. У меня имеется книга "Postfix подробное руководство" и как ни странно http://www.postfix.org/ тоже помогает :). Поле From умеет менять, парольную авторизацию умеет тоже. У меня изменение дефолтного конфига потребовало внести директивы relayhost, masquerade_domains, smtp_sasl_auth_enable = yes, smtp_sasl_password_maps, sender_canonical_maps. Ну и создать соответсвующие карты и прохешировать их. Описание директив на постфикс орг есть.
> Да, согласен, это 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
>> Да, согласен, это 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-а и я согласен - там не то что бы супер таки он был нужен
> Он тяжелый, для нагруженной VPS под какой-нибудь веб-сервер, где каждый мегабайт
> privvmpages (kmemsize, лишние сокеты и т д) имеет значение, ssmtp/msmtp, имхо, правильнее)Ну если задача стоит в минимизации ресурсов то конечно mta оттуда лучше убрать.
> ВАЖНО! Многие smtp требуют чтобы поле "From:" было равно тому, под кем серверупредставляется MUA.
чушь собачья, дальше не читал.
Давно использую эту прогу в php-скриптах. Достаточно в php.ini написать sendmail_path = /usr/bin/msmtp -t