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

时间:2016-07-15 08:28:56

标签: command-line smtp gmail sendmail raspberry-pi3

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

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

Envirenment:

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

1 个答案:

答案 0 :(得分:17)

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

Google帐户设置

  1. 登录您的Gmail帐户
  2. 转到:设置 - >帐户和导入 - >其他Google帐户设置
  3. 转到:个人信息&隐私 - >帐户概述
  4. 转到:登录&安全 - >连接应用程序&网站
  5. 设置选项允许安全性较低的应用启用
  6. 安装SSMTP
        sudo apt-get install ssmtp

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

    创建新的配置文件(使用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
    

    如果您在此步骤中遇到错误,例如“无法访问”,则必须找到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
    

    这就是全部:)