Отсылка почты через sSMTP

Замечательная все-таки штука UNIX – для решения одной и той же задачи найдется несколько путей. Вот и для отсылки почты с рабочей станции или специализированного сервера совершенно не обязательно держать на нем полноценный MTA, какой бы компактный и простой он ни был. Достаточно sSMTP.

Установим sSMTP:

$ sudo apt-get install ssmtp

Поправим файл конфигурации (например, я хочу для пересылки почты использовать Gmail):

$ sudo vi /etc/ssmtp/ssmtp.conf

root=youremailhere@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=yourgmailusername
AuthPass=yourgmailpassword
UseSTARTTLS=YES

Полный список параметров можно посмотреть так:

$ man -m 5 ssmtp.conf

Эстеты десктопа могут оформить документ красиво:

$ zcat /usr/share/man/man5/ssmtp.conf.5.gz | groff -mandoc > ~/Desktop/ssmtp.conf.pdf

Альтернативно одаренные могут распечатать на бумаге:

$ zcat /usr/share/man/man5/ssmtp.conf.5.gz | groff -mandoc | lpr

Отправка сообщения, уже записанного в текстовый файл происходит элементарно:

$ ssmtp rat@admin.lv < message.txt

Или, если нам важен заголовок, то его можно просто добавить в начало файла message.txt:

$ echo "Subject: test message" > /tmp/newmessage; cat message.txt >> /tmp/newmessage; rat@admin.lv <tmp/newmessage

Чтобы отправить файл с приложением (например, weekly_report.pdf), его необходимо закодировать, например, в base64:

$ echo "Subject: Weekly Report" > /tmp/newmessage;\
echo "Content-Transfer-Encoding: base64" >> /tmp/newmessage;\
echo "Content-Description: weekly_report.pdf" >> /tmp/newmessage;\
echo "Content-Disposition: attachment; filename="weekly_report.pdf" >> /tmp/newmessage;\
base64 weekly_report.pdf >> /tmp/newmessage ; ssmtp rat@admin.lv </tmp/newmessage

Ну а если есть желание отправлять сообщение в HTML, после заголовка добавьте пару строк:

Mime-Version: 1.0
Content-Type: text/html; charset="utf-8"

Фуф, вроде все…

2 Comments

[…] 2) Напишем небольшой скриптик, который будет создавать 2 файла: список компьютеров, активных в сети сейчас, и список всех обнаруженных сочетаний MAC/IP за время работы скрипта (кумулятивный) и выкладывать их на внутренний веб. Дополнительно он будет оповещать системного администратора обо всех новых устройствах в сети, для отсылки почты воспользуемся утилитой sSMTP, описанной ранее. […]

[…] я уже писал про sSMTP, компактную замену полнофункционального MTA на Linux/UNIX. […]

Leave a comment

Your comment