使用 Raspbian 和 Ubunntu 16.04 LTS 所以需要一个通用的 Linux 解决方案。
要求很简单:
我需要一种从命令行发送单行电子邮件的方法。
我已经为这个特定的 Rpi3 设置了一个 gmail 帐户,地址为 rpi3abc@gmail.com - 没有 2FA
所以现在我需要能够在没有用户干预的情况下从任何地方(包括 cron)发送单行邮件消息。
我也希望它能够发送文本文件;基本上,任何来自stdin.
我有以下 ssmtp.conf 文件:
root=test@gmail.com
mailhub=smtp.gmail.com:587
hostname=ed424cef9b52
UseTLS=Yes
UseStartTTLS=Yes
AuthMethod=LOGIN
AuthUser=test
AuthPass=test
FromLineOverride=yes
TLS_CA_File=/etc/ssl/certs/ca-certificates.crt
Run Code Online (Sandbox Code Playgroud)
我可以连接到 587 gmail 端口:
telnet smtp.gmail.com 587
Trying 64.233.186.109...
Connected to gmail-smtp-msa.l.google.com.
Run Code Online (Sandbox Code Playgroud)
但是当我尝试发送邮件时:
/usr/sbin/ssmtp -v test@gmail.com < qq
ssmtp: Cannot open smtp.gmail.com:587
echo test | mailx -s "testing ssmtp setup" test@gmail.com
send-mail: Cannot open smtp.gmail.com:587
Can't send mail: sendmail process failed with error code 1
Run Code Online (Sandbox Code Playgroud)