Так случилось, что появился у меня сервер, который ну никак не может отправить почту наружу - и 25 порт закрыт провайдером, и ДНС имени обратного нет - в общем всё против него...
То есть рассказ пойдёт о том, как заставить сервер отправлять почту через конкретный постовый сервер, конкретный порт, и даже под конкретным пользователем-паролем.
Решение:
Устанавливаем программку, которая заменит всё стандартное и поможет нам отправлять почту
Код: Выделить всё
# cd /usr/ports/mail/ssmtp && make install replace clean
Код: Выделить всё
┌─────────────────────────────── ssmtp-2.64_1 ─────────────────────────────────┐
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │+[x] CRAMMD5 CRAM-MD5 authentication support │ │
│ │ [ ] IPV6 IPv6 protocol support │ │
│ │+[ ] LOGFILE Log file │ │
│ │+[x] OPENSSL SSL/TLS support via OpenSSL │ │
│ │+[ ] USERPREFS User-defined revaliases │ │
│ │+[x] XORIGIP X-Originating-IP header for REMOTE_ADDR envvar │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├──────────────────────────────────────────────────────────────────────────────┤
│ < OK > <Cancel> │
└──────────────────────────────────────────────────────────────────────────────┘
Код: Выделить всё
# cd /usr/local/etc/ssmtp/
# cp ssmtp.conf.sample ssmtp.conf
# mcedit ssmtp.conf
Код: Выделить всё
# cat /usr/local/etc/ssmtp/ssmtp.conf | grep -v "#"
root=roman@cz6.ru
mailhub=mail.cz6.ru:465
rewriteDomain=basa.cz6.ru
hostname=mail.cz6.ru
UseTLS=YES
AuthUser=roman@cz6.ru
AuthPass=P@$$w0rd
FromLineOverride=NO
Debug=YES
zabbix#
Код: Выделить всё
# mail roman@cz6.ru
Subject: test
test
EOT
zabbix#
Литература:
http://habrahabr.ru/post/82919/