The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка msmtp для отправки уведомлений администратору по E-Mail
Системные демоны устанавливаемые на 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

Параметр tls_certcheck off используется для упрощения статьи, в дальнейшем
можно будет его включить, но при этом необходимо будет произвести определенные
действия с сертификатами удаленного сервера и их размещении на вашем клиенте.
Что усложняет процесс настройки.

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

Для Debian/Ubuntu:

  update-alternatives --install /usr/sbin/sendmail sendmail /usr/bin/msmtp 10

Для остальных систем смыл действия сводится к использованию аналогичных средств
для замены симлинка (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 smartmontools restart
 
22.04.2011 , Автор: Netc & PavelR , Источник: http://wiki.opennet.ru/Msmtp http:/... (доп. ссылка 1)
Ключи: msmtp, smtp, mua, mail, sendmail
Раздел:    Корень / Администратору / Сетевые сервисы / Mail, почта / Отправка и пересылка сообщений на уровне пользователя

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, m0ps (ok), 12:29, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не знаю как в линуксе, но в фре достаточно в хомяке рута создать файл .forward содержащий одну строчку - адрес мыла на которое пересылать письма
     
     
  • 2.9, rico (ok), 14:30, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    rm /usr/sbin/sendmail
    ln -s /usr/bin/msmtp /usr/sbin/sendmail

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

     
     
  • 3.10, netc (ok), 14:48, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > rm /usr/sbin/sendmail
    > ln -s /usr/bin/msmtp /usr/sbin/sendmail
    > дааа... стиль администрирования доставляет
    > руки бы поотрубал...

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

     
     
  • 4.23, k (??), 16:28, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    unlink
     
     
  • 5.34, rico (ok), 14:17, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > unlink

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

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

     
     
  • 6.37, netc (ok), 15:41, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> unlink
    > при чем здесь это
    > патчи надо делать и в апстрим отправлять, а не прибивать файлы в
    > системе
    > не принял апстрим - делаешь свое хранилище патчей
    > благо средств для этого...
    > а то потом вылавливай эти убитые симлинки по всей системе

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

     

  • 1.2, 777 (??), 13:14, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    или в /etc/mail/aliases раскоментировать # root: me@my.domain и сделать команду newaliases
     
     
  • 2.12, Belya (?), 15:23, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    отлично работает
    юзаю такой вариант на 10+ серверах + мыло на GMail
     
     
  • 3.13, netc (ok), 15:27, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > отлично работает
    > юзаю такой вариант на 10+ серверах + мыло на GMail

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

     

  • 1.3, netc (ok), 13:20, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а вы попробуйте указать там *@yandex.ru или *@gmail.com ...

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

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

     
     
  • 2.6, Sadok (??), 14:01, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    э... щито? ты ж почту на mx шлешь, а не через их smtp для дяди Васи. брать должны для валидного ящика.
     
     
  • 3.7, netc (ok), 14:07, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > э... щито? ты ж почту на mx шлешь, а не через их
    > smtp для дяди Васи. брать должны для валидного ящика.

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

     
     
  • 4.8, Sadok (??), 14:11, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> э... щито? ты ж почту на mx шлешь, а не через их
    >> smtp для дяди Васи. брать должны для валидного ящика.
    > не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
    > mua

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

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

     
     
  • 5.11, netc (ok), 14:52, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>> э... щито? ты ж почту на mx шлешь, а не через их
    >>> smtp для дяди Васи. брать должны для валидного ящика.
    >> не берут, т.к. не совпадает ящик отправителя с ящиком того кем представляется
    >> mua
    > какой mua? почту mta шлет. "я почтальон печкин, примите посылку для вашего
    > мальчика". и если мальчик такой есть - должны брать.
    > я к тому, что алиасы замечательно работают

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

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

     
     
  • 6.14, Sadok (??), 16:09, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а проверка на ptr, _spf записи ?
    > если бы они принимали всю почту, у тех у кого ящик на
    > Яндексе думаю бы было много много спама

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

     
     
  • 7.15, Анон (?), 20:58, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    яндекс и мыло.ру точно не принимают т.к. лично убедился в этом когда хотел почту с сайта форвардить на личный сервер. Принимать то принимал, а вот отправлять не получалось, тем более из-за "белого", но динамического ip.
     

  • 1.4, vscoder (?), 13:36, 22/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    использую для этих целей и в линуксе и во фряхе ssmtp, судя по описанию имеет схожий функционал
     
     
  • 2.5, netc (ok), 13:54, 22/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > использую для этих целей и в линуксе и во фряхе ssmtp, судя
    > по описанию имеет схожий функционал

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

     

  • 1.17, MooSE (ok), 01:24, 23/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.
     
     
  • 2.20, netc (ok), 09:28, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Блин.. Ну кто ж симлинки правит так-то? Во фре есть /etc/mail/mailer.conf, в
    > дебиане - механизм альтернатив. что-то такое есть и в красношляпых дистрах.

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

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

     

  • 1.18, ch (??), 21:55, 23/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > tls_certcheck off

    почему?

     
     
  • 2.19, netc (ok), 08:53, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> tls_certcheck off
    > почему?

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

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

     

  • 1.21, slava_ (?), 13:46, 25/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что будет в случае проблем с инетом? Отправляемые письма пропадут, или полежат в очереди и уйдут позже?
     
     
  • 2.22, netc (ok), 13:51, 25/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А что будет в случае проблем с инетом? Отправляемые письма пропадут, или
    > полежат в очереди и уйдут позже?

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

     

  • 1.24, sHaggY_caT (ok), 22:55, 26/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ssmtp, имхо, мощнее.
    Мы тоже его используем...
    Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо в/через фирменный Postfix-сервер.
     
     
  • 2.25, netc (ok), 09:12, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ssmtp, имхо, мощнее.
    > Мы тоже его используем...
    > Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
    > в/через фирменный Postfix-сервер.

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

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

    спасибо.

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

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

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

     
  • 2.26, netc (ok), 09:15, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ssmtp, имхо, мощнее.
    > Мы тоже его используем...
    > Шлет почту либо клиентам в почтовые ящики через тот же Gmail, либо
    > в/через фирменный Postfix-сервер.

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

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

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

     
     
  • 3.30, sHaggY_caT (ok), 11:04, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/

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

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

     
  • 2.33, 88 (??), 14:13, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только через изменение /etc/passwd ???
    # cat /etc/passwd
    root:x:0:0:Serv5:/root:/bin/bash
     
     
  • 3.35, sHaggY_caT (ok), 14:28, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Поменять "From: root<serv5@mydomen.ru>" на "From: Serv5<serv5@mydomen.ru>" можно только
    > через изменение /etc/passwd ???
    > # cat /etc/passwd
    > root:x:0:0:Serv5:/root:/bin/bash

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

     
     
  • 4.36, 88 (??), 14:37, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    # cat revaliases
    root:serv5@mydomen.ru

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

     
     
  • 5.39, sHaggY_caT (ok), 21:30, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > # 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
    =====

     

  • 1.27, avb (??), 09:24, 27/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А почему просто posfix не настроить? ведь он прекрасно умеет работать в качестве почтового клиента, я его использую именно для таких целей.
     
     
  • 2.28, netc (ok), 09:28, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему просто posfix не настроить? ведь он прекрасно умеет работать в
    > качестве почтового клиента, я его использую именно для таких целей.

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

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


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

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

     
     
  • 3.29, avb (??), 09:43, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да, согласен, это MTA его настройка, однако в таком качестве несколько неочевидна, но также возможна. У меня имеется книга "Postfix подробное руководство" и как ни странно http://www.postfix.org/ тоже помогает :). Поле From умеет менять, парольную авторизацию умеет тоже. У меня изменение дефолтного конфига потребовало внести директивы relayhost, masquerade_domains, smtp_sasl_auth_enable = yes, smtp_sasl_password_maps, sender_canonical_maps. Ну и создать соответсвующие карты и прохешировать их. Описание директив на постфикс орг есть.
     
     
  • 4.31, sHaggY_caT (ok), 11:07, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, согласен, это 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

     
     
  • 5.32, netc (ok), 13:55, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да, согласен, это 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-а и я согласен - там не то что бы супер таки он был нужен

     
  • 5.38, avb077 (?), 19:07, 27/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Он тяжелый, для нагруженной VPS под какой-нибудь веб-сервер, где каждый мегабайт
    > privvmpages (kmemsize, лишние сокеты и т д) имеет значение, ssmtp/msmtp, имхо, правильнее)

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

     

  • 1.40, миха228 (?), 22:35, 27/04/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > ВАЖНО! Многие smtp требуют чтобы поле "From:" было равно тому, под кем серверу

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

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

     
  • 1.41, xdsl (?), 13:35, 03/05/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно использую эту прогу в php-скриптах. Достаточно в php.ini написать sendmail_path = /usr/bin/msmtp -t

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру