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

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

环境:

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

最佳答案

我在Raspberry Pi 3设备上使用了这种方法:

Google帐户设置

  • 登录到您的Gmail帐户
  • 转到:设置->帐户和导入->其他Google帐户设置
  • 转到:个人信息和隐私->帐户概述
  • 转到:登录和安全->连接应用程序和网站
  • 设置选项允许安全性较低的应用程序打开

  • 安装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
    文件内容
    [email protected]
    mailhub=smtp.gmail.com:587
    
    FromLineOverride=YES
    [email protected]
    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: [email protected]
    Subject: Testing send mail from Raspberry
    
    This is test mail (body)
    
    Best Regards!
    

    现在您可以从文件发送邮件
    ssmtp recipient.address@some_domain.com < test.txt
    

    就这样 :)

    09-07 01:27