Отправка почты через ssmtp


Далеко не всегда нужно поднимать свой почтовый домен и почтовый сервер, чтобы иметь 
возможность отправить письмо. Можно воспользоваться своим ящиком на гугл или мэйл.ру. 
Это возможно благодаря агенту ssmtp. Заметим, что ssmtp - это не сервер, в нем нет 
очередей, фильтров и т.п. Это пакет, осуществляющий трансфер письма на заданный сервер. 
Т.е. если сервер недоступен - ssmtp отваливается с ошибкой и письмо оказывается не 
отправленным.

У ssmtp очень простой и короткий конфиг. Открываем

# nano /etc/ssmtp/ssmtp.conf

и дописываем в конец

root=myemailaddress@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=myemailaddress@gmail.com
AuthPass=********
UseSTARTTLS=YES
FromLineOverride=YES

Теперь можно отправить письмо прямо из командной строки

ssmtp friendemailaddress@mail.ru < letter.txt

Для отправки письма с вложением, потребуется немного покодировать:

echo "Subject: Letter with attach" > msg
echo "Content-Transfer-Encoding: base64" >> msg
echo "Content-Description: test.zip" >> msg
echo "Content-Disposition: attachment; filename="test.zip" >> msg
base64 test.zip >> msg
ssmtp friendemailaddress@mail.ru < msg

Ну и конечно не забывайте заглядывать в маны - там еще много полезного.