SSMTP заметки

Debian 7, 8, 9

# Установка
apt-get install ssmtp
#
# После установки должно быть так
ls -l /usr/sbin/sendmail
lrwxrwxrwx 1 root root 5 Jul 15  2014 /usr/sbin/sendmail -> ssmtp

Конфигурация /etc/ssmtp/ssmtp.conf

#
# на 25 порт
mailhub=mail.firma.com
# Пользователь
[email protected]
AuthPass=superpassword
# 
# с SSL
mailhub=mail.firma.com:465
UseTLS=Yes
UseSTARTTLS=Yes

Логи пишутся в Syslog:

May 30 08:54:07 vps-9513 sSMTP[30111]: Creating SSL connection to host
May 30 08:54:07 vps-9513 sSMTP[30111]: SSL connection using RSA_AES_128_CBC_SHA1
May 30 08:54:10 vps-9513 sSMTP[30111]: Sent mail for [email protected] (221 2.0.0 closing connection r10sm16495247wmd.9 - gsmtp) uid=33 username=www-data outbytes=667

Имя подставляемое в MAIL FROM /etc/ssmtp/revaliases

#
root:[email protected]

SSMTP не использует файл /etc/aliases
И алиасы для адресов получателей он не стоит, он отправляет туда куда написали.
Например logwatch по-умолчанию отправляет через sendmail https://note.wdm.net.ua/logwatch-zametki/

Используем mail, тогда локальных получателей перенаправляются на внешние /etc/mail.rc

# адресов на одно имя можно указать несколько
alias root [email protected]
alias root [email protected]
#
alias postmaster [email protected]

Проверка:

# 
echo "test message body" | mail -v -s "subject test" [email protected]
# Если получили ответ: mail not found
apt-get install mailutils

CentOS 4.8

#Качаем RPM 
wget http://dl.fedoraproject.org/pub/epel/4/i386/ssmtp-2.61-15.el4.i386.rpm
# Устанавливаем
rpm -ivh ssmtp-2.61-15.el4.i386.rpm 
# Меняем MTA
alternatives --config mta
# Удаляем sendmail
yum erase sendmail
# Проверяем кто отвечает
sendmail -V
sSMTP 2.61 (Not sendmail at all)

Конфигурация /etc/ssmtp/ssmtp.conf

CentOS 6.5

# Устанавливаем
yum install ssmtp
# Меняем MTA
alternatives --config mta
# Удаляем postfix
yum erase postfix

CentOS 6.6

Потребовалось добавить:

rpm -ivh http://fedora.ip-connect.vn.ua/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

Проверка:

echo "test message body" | mail -v -s "subject test" [email protected]

FreeBSD

FreeBSD 10
/etc/mail/mailer.conf

sendmail        /usr/local/sbin/ssmtp
send-mail       /usr/local/sbin/ssmtp
mailq           /usr/local/sbin/ssmtp
newaliases      /usr/local/sbin/ssmtp
hoststat        /usr/bin/true
purgestat       /usr/bin/true

Конфиг /usr/local/etc/ssmtp/ssmtp.conf

root=
mailhub=mail # your mail-server DNS
rewriteDomain=domain.com # your mail domain
hostname=v12.domain.local # this host name

Ukr.net

Включить доступ : Читаем тут

mailhub=smtp.ukr.net:465
[email protected]
AuthPass=PASSWORD
FromLineOverride=YES
UseTLS=Yes

Yandex

# /etc/ssmtp/ssmtp.conf
#
[email protected]
AuthPass=PASSWORD
#
mailhub=smtp.yandex.ru:587
UseTLS=YES
UseSTARTTLS=YES
#
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
#

Gmail

mailhub=smtp.gmail.com:587
#
[email protected]
AuthPass=password
AuthMethod=LOGIN
#
FromLineOverride=YES
UseTLS=Yes
UseSTARTTLS=Yes

При тестировании отправки появляется ошибка:

[<-] 534 5.7.14  https://support.google.com/mail/answer/78754 x64sm2348353wrb.10 - gsmtp
send-mail: Authorization failed (534 5.7.14  https://support.google.com/mail/answer/78754 x64sm2348353wrb.10 - gsmtp)
Can't send mail: sendmail process failed with error code 1

Решение:
1) Заходим в браузере под Аккаунтом Google
2) Переходим https://accounts.google.com/b/0/DisplayUnlockCaptcha
3) Включаем!
4) Отправляем тестовую почту с сервера

ERROR: SSL not working: unknown protocol (0)

On: centos 6.8
Solution: update openssl