Raspberry PI - 使用 GMAIL smtp 服务器从命令行发送邮件

Raspberry PI - Send mail from command line using GMAIL smtp server

如何使用我的 gmail 帐户从 Raspberry Pi 发送电子邮件?

我想从命令行发送邮件并在我的脚本中使用此方法。

环境:

Hardware: Raspberry PI 3
OS: Jessie
SMTP: smtp.gmail.com

我在 Raspberry Pi 3 台设备上使用此方法:

Google 账户设置

  1. 登录您的 gmail 帐户
  2. 转到:设置 -> 帐户和导入 -> 其他 Google 帐户设置
  3. 转到:个人信息和隐私 -> 帐户概览
  4. 转到:登录和安全 -> 连接应用和网站
  5. 将允许安全性较低的应用选项设置为开启

安装 SSMTP
sudo apt-get install ssmtp

保存原始配置文件
sudo mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.bak

创建新的 conf 文件(使用 vi 或其他文本编辑器)
sudo vi /etc/ssmtp/ssmtp.conf

文件内容

root=your_account@gmail.com
mailhub=smtp.gmail.com:587

FromLineOverride=YES
AuthUser=your_account@gmail.com
AuthPass=your_password
UseSTARTTLS=YES
UseTLS=YES

# Debug=Yes

安全配置文件

sudo groupadd ssmtp
sudo chown :ssmtp /etc/ssmtp/ssmtp.conf

如果您在此步骤中遇到错误,例如“'cannot access'”...您必须找到 ssmtp 文件并使用该路径:sudo find / -name "ssmtp"

sudo chown :ssmtp /usr/sbin/ssmtp
sudo chmod 640 /etc/ssmtp/ssmtp.conf
sudo chmod g+s /usr/sbin/ssmtp

从(仅一个)命令行发送邮件

echo "This is a test" | ssmtp recipient.address@some_domain.com

printf "To: recipient.address@some_domain.com\nFrom: RaspberryPi3\nSubject: Testing send mail from Raspberry\n\nThis is test. Best Regards!\n" | ssmtp -t

正在从文件 test.txt
发送邮件 制作具有相似内容的文件:

To: recipient.address@some_domain.com
From: your_account@gmail.com
Subject: Testing send mail from Raspberry

This is test mail (body)

Best Regards!

现在您可以从文件发送邮件了

ssmtp recipient.address@some_domain.com < test.txt

就这些了:)