В конце концов я использовал sSMTP
. Это намного, намного проще, чем любой из них. Postfix
или sendmail
и прекрасно справляется со своей работой.
Для дальнейшего использования, вот как использовать sSMTP с Yahoo Mail (не волнуйтесь, это гораздо менее сложно, чем кажется):
Используйте Synaptic для загрузки ssmtp. В качестве альтернативы вы могли бы запустить
sudo apt-get install ssmtp
.Откройте конфигурационный файл по адресу
/etc/ssmtp/ssmtp.conf
.-
Сделайте так, чтобы конфигурация выглядела следующим образом:
root=[yourRealEmail@yahoo.com.au]mailhub=smtp.mail.yahoo.com:587FromLineOverride=YESUseSTARTTLS=YESAuthUser=[yourRealEmail@yahoo.com.au]AuthPass=[yourRealYahooPassword]TLS_CA_File=~/cert.pem
Создайте файл cert.pem с помощью OpenSSL. Я использовал команду
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 9999 -nodes
(более подробная информация на сайте Как создать самозаверяющий сертификат с помощью OpenSSL). Вы можете вставить файл куда угодно, но я просто вставил его в ~/. Куда бы вы его ни положили, убедитесь, что вы направилиTLS_CA_File=
строку в файле ssmtp.conf в правильное место.-
Откройте файл
/etc/ssmtp/revaliases
и добавьте строку:[yourPCUsername]:[yourRealEmail@yahoo.com.au]:smtp.mail.yahoo.com:587
Если вы работаете от имени root, я бы подумал, что вам нужно добавить еще одну строку, заменяющую ваше имя на "root".
-
Вот и все, ты готов идти! Для тестирования самый простой способ (IMO) - создать файл со следующим в нем:
To: [yourRealEmail@yahoo.com.au]From: "whateverYaWant" <[yourRealEmail@yahoo.com.au]>Subject: Some Notifying EmailMIME-Version: 1.0Content-Type: text/plainBody of your email goes here! Hello world!
Сохраните и закройте файл, а затем проверьте, нет ли у вас реального отправить почту установлен, запустите
sendmail -V
- там должно быть написано "sSMTP".Наконец, беги
cat fileWithEmailInIt.txt | sendmail -i -t
, затем подождите несколько секунд (10-30) и проверьте свою электронную почту!
Очевидно, заменить [yourRealEmail@yahoo.com.au]
с вашим адресом электронной почты (без скобок) и [yourRealYahooPassword]
с вашим паролем Yahoo Mail (опять же, без скобок).
Дополнительное примечание 1: Если у вас возникли проблемы с Gmail, попробуйте вариант 1 из этот ответ.
(Благодаря Бен Кризи!)
Дополнительное примечание 2: Если почта отправляется из командной строки, но не через crontab, попробуйте изменить FromLineOverride
к NO
в /etc/ssmtp/ssmtp.conf
. Вы также можете получить более подробное ведение журнала, добавив Debug=YES
к ssmtp.conf
- дополнительная регистрация идет на /var/log/mail.log
.
(Спасибо Якуб Кукул!)