| Потребовалась отправка логов на нужный е-майл. Раскуривал штатный Sendmail, но выходило довольно монструозно (+ мне нужно было менять заголовки отправителя). Ставить Exim для этой мелочи тоже не хотелось. Посему остановился на утилите ssmtp. Она элементарна и проста в эксплуатации. Установка # cd /usr/ports/ # make search name=ssmtp Port:   ssmtp-2.62.3 Path:   /usr/ports/mail/ssmtp Info:   Extremely simple MTA to get mail off the system to a mail hub Maint:  aragon@phat.za.net B-deps: gettext-0.17_1 gmake-3.81_3 libiconv-1.13.1_1 R-deps: WWW:    _http://packages.debian.org/stable/mail/ssmtp   # cd /usr/ports/mail/ssmtp; make install clean ~~ ===> SECURITY REPORT:       This port has installed the following binaries which execute with       increased privileges. /usr/local/sbin/ssmtp         If there are vulnerabilities in these programs there may be a security       risk to the system. FreeBSD makes no guarantee about the security of       ports included in the Ports Collection. Please type 'make deinstall'       to deinstall the port if this is a concern.         For more information, and contact details about the security       status of this software, see the following webpage: _http://packages.debian.org/stable/mail/ssmtp ===>  Cleaning for gmake-3.81_3 ===>  Cleaning for ssmtp-2.62.3 Создадим и настроим конфигурационные файлы: # cd /usr/local/etc/ssmtp/ # ll total 4 -rw-r-----  1 root  ssmtp   200 Apr 22 11:53 revaliases.sample -rw-r-----  1 root  ssmtp  1286 Apr 22 11:53 ssmtp.conf.sample # cp ssmtp.conf.sample ssmtp.conf # cp revaliases.sample revaliases Настроим ssmtp.conf Переведем основной конфигурационный файл: # cat ssmtp.conf   # /etc/ssmtp.conf -- конфигурационный файл для sSMTP sendmail. # # Пользователь, который получает всю почту для userids < 1000 # Сделайте пустым для отключения перезаписи. Или укажите пользователя. # А также вы можете указать нужный е-майл на который будет # приходить почта для root. root=postmaster   # Место, где идет почта. Настоящее имя машины не требуются # MX записи. Обычно mailhosts является именем mail.domain.com # Например если вы находитесь в domain.com ваш mailhub с таким же именем. mailhub=mail   # Пример для SMTP портом 2525 # mailhub=mail.your.domain:2525 # Пример для SMTP портом 25 (Standard/RFC) # mailhub=mail.your.domain # Пример для SSL шифрованного соединения # mailhub=mail.your.domain:465   # От кого якобы должна приходить почта? rewriteDomain=   # Полное имя машины hostname=_HOSTNAME_   # Установите это чтобы никогда не переписывать "From:" (если не указано) и # использовать этот адрес в "from line" оболочки. #FromLineOverride=YES   # Использовать SSL/TLS, чтобы отправить безопасные сообщения на сервер. #UseTLS=YES   # Использовать SSL/TLS сертификат для аутентификации на SMTP-хосте. #UseTLSCert=YES   # Используйте этот сертификат RSA. #TLSCert=/usr/local/etc/ssmtp/ssmtp.pem   # Получить расширенное (* действительно * расширенную) отладочную информацию в логах # Если вы хотите иметь отладке в конфигурационных отпарсенных файлах, переместите этот # параметр в начало файла конфигурации и раскомментируйте #Debug=YES Мой тестовый конфигурационный файл: # grep -v '^#' ssmtp.conf |grep -v ^\$ root=Raven2000@lissyara.su mailhub=mail.ignix.ru hostname=raven.local Настроим revaliases Revaliases нужен для создания псевдонимов (например как файл /etc/mail/aliases для sendmail).  Переведем конфигурационный файл: # cat revaliases   # sSMTP псевдонимы # # Формат: local_account:outgoing_address:mailhub # # Пример: root:your_login@your.domain:mailhub.your.domain[:port] # где [:port] – это дополнительный номер порта, который по умолчанию 25. Настроим соответствующим образом: # grep -v '^#' revaliases |grep -v ^\$ root:root@raven.local:mail.ignix.ru Система Остановите Sendmail и приведите конфигурационные файлы к этому виду: # cat /etc/rc.conf |grep sendmail sendmail_enable="NONE"   # grep -v ^# /etc/mail/mailer.conf |grep -v ^\$ sendmail        /usr/local/sbin/ssmtp send-mail       /usr/local/sbin/ssmtp mailq           /usr/local/sbin/ssmtp newaliases      /usr/local/sbin/ssmtp hoststat        /usr/local/sbin/ssmtp purgestat       /usr/local/sbin/ssmtp Тестируем Отправим письмо руту: # mail root Subject: test ssmtp test ssmtp . EOT Готово. Если письмо пришло то вас можно поздравить.  Проблемы А если не пришло то это проблема =). Для начала нам нужно обнаружить проблемное место. Для этого в конфигурационном файле ssmtp.conf Добавляем в самое начало конфига строчку: Debug=YES Далее необходимо смотреть как и куда отправляются письма. Для этого необходимо видеть логи почтового сервера в реальном времени (для удобства). И пробуем отправить письмо заодно смотря логи. # tail -f /var/log/maillog Apr 23 11:38:43 bsd sSMTP[72138]: Sent mail for root@raven.local (221 Bye) uid=0 username=root outbytes=296 Apr 23 11:38:51 bsd sSMTP[72143]: Set Root="Raven2000@lissyara.su" Apr 23 11:38:51 bsd sSMTP[72143]: Set MailHub="mail.ignix.ru" Apr 23 11:38:51 bsd sSMTP[72143]: Set RemotePort="25" Apr 23 11:38:51 bsd sSMTP[72143]: Set HostName="raven.local" Apr 23 11:38:51 bsd sSMTP[72143]: Set MailHub="mail.ignix.ru" Apr 23 11:38:51 bsd sSMTP[72143]: via SMTP Port Number="25" Apr 23 11:38:51 bsd sSMTP[72143]: 220 MailServer 2005 Apr 23 11:38:51 bsd sSMTP[72143]: HELO raven.local Apr 23 11:38:52 bsd sSMTP[72143]: 250 ignix.ru Apr 23 11:38:52 bsd sSMTP[72143]: MAIL FROM:<root@raven.local> Apr 23 11:38:52 bsd sSMTP[72143]: 250 Ok Apr 23 11:38:52 bsd sSMTP[72143]: RCPT TO:<Raven2000@lissyara.su> Apr 23 11:38:52 bsd sSMTP[72143]: 250 Ok Apr 23 11:38:52 bsd sSMTP[72143]: DATA Apr 23 11:38:52 bsd sSMTP[72143]: 354 End data with <CR><LF>.<CR><LF> Apr 23 11:38:52 bsd sSMTP[72143]: Received: by raven.local (sSMTP sendmail emulation); Fri, 23 Apr 2010 11:38:51 +0400 Apr 23 11:38:52 bsd sSMTP[72143]: From: "Charlie &" <root@raven.local> Apr 23 11:38:52 bsd sSMTP[72143]: Date: Fri, 23 Apr 2010 11:38:51 +0400 Apr 23 11:38:52 bsd sSMTP[72143]: To: Raven2000@lissyara.su Apr 23 11:38:52 bsd sSMTP[72143]: Subject: test ssmtp2 Apr 23 11:38:52 bsd sSMTP[72143]: Apr 23 11:38:52 bsd sSMTP[72143]: test ssmtp2 Apr 23 11:38:53 bsd sSMTP[72143]: . Apr 23 11:38:53 bsd sSMTP[72143]: 250 Ok: queued as 50A392BC12D Apr 23 11:38:53 bsd sSMTP[72143]: QUIT Apr 23 11:38:53 bsd sSMTP[72143]: 221 Bye Apr 23 11:38:53 bsd sSMTP[72143]: Sent mail for root@raven.local (221 Bye) uid=0 username=root outbytes=331 Как видим все в порядке это можно проследить по записям. У вас же могут быть несоответствия в работе которые вы заметите и устраните. |