Отправка почты с помощью командной строки Linux

openssl

Отправить почту с помощью openssl можно такой командой:

openssl s_client -connect smtp.bolter.ru:25 -starttls smtp

Установка сертификата

openssl s_client -connect smtp.bolter.ru:25 -starttls > bolter-smtp.cer
sudo keytool -importcert -keystore $JAVA_HOME/jre/lib/secirity/cacerts -trustcacerts -alias "smtp.bolter.ru" -file bolter-smtp.cer
psw: changeit, yes

sendmail

Есть удобная и простая в использовании утилита sendmail.
Пример использования с вложением:

sudo apt-get install sendemail
sendemail -f sender@yandex.ru -m "message" -t receiver@gmail.com -s smtp.yandex.ru:587 -xu sender@yandex.ru -xp password -a /attached_file.txt
Самый простой вариант отправки:

echo "Test" | sendmail user@mail.ru

Чтобы сделать правильные заголовки в письме:

cat > /tmp/new_letter << EOF
From: SENDER <sender@mail.com>
To: USER <user@mail.com>
Subject: TEST MESSAGE
BODY MESSAGE
EOF

cat /tmp/new_letter | sendmail user@mail.ru