美文网首页树莓派笔记
【教程】树莓派自动发送邮件

【教程】树莓派自动发送邮件

作者: oldfool | 来源:发表于2017-10-13 00:33 被阅读84次

    树莓派接一上电就一直运行着,如果运行出现什么问题我们可能无从得知,所以希望把这种突发信息发送至手机。我们可以配置一个邮件客户端并且编写一个脚本自动发送。本文将实现开机时自动发送一封邮件到指定邮箱,这样如果断电或者机器重启,即便出门在外也能接收到通知。

    实验环境

    硬件:树莓派3b一台

    操作系统:Raspbian with desktop

    安装软件:mutt、msmtp

    前期工作

    树莓派程序开机自启动方法总结

    安装步骤

    1、安装mutt、msmtp

    pi@raspberry:~ $ sudo apt-get install mutt

    pi@raspberry:~ $ sudo apt-get install msmtp

    msmtp是Linux下的一款邮件客户端,mutt通过调用msmtp来收发邮件。关于这两个软件详细说明请自行百度。

    2、配置msmtp

    在当前用户目录下新建.msmtprc

    pi@raspberry:~ $ nano ~/.msmtprc

    内容如下:

    account default

    host smtp.yeah.net

    from 填写你的邮箱

    auth plain

    user 填写你的邮箱

    password 密码

    logfile /var/log/msmtp.log

    需要特别说明的是host字段,这个需要填写你使用邮箱的SMTP服务器地址,比如QQ邮箱应该填写:smtp.qq.com 

    替换填入自己的邮箱密码,ctrl+o保存,ctrl+x退出。

    3、配置mutt

    在当前用户目录下目录下新建.muttrc

    pi@raspberrypi:~ $ nano ~/.muttrc

    .muttrc内容如下:

    set sendmail="/usr/bin/msmtp"

    set use_from=yes

    set realname="RaspberryPi"

    set editor="nano"

    realname字段会显示在发件人一栏,可以任意替换。保存并退出。

    至此,邮件客户端配置完成。

    4、发送邮件测试

    在终端下输入:

    pi@raspberry:~ $ echo "hello pi" |mutt -s "hello" �接收的邮箱

    这里会提示出错,意思是除了当前用户外不允许其他用户有读写权限。

    所以需要强制将读写权限设置为当前用户

    pi@raspberry:~ $ chmod 600 .msmtprc

    再一次发送邮件就能成功了,成功发送没有任何提示,�如果有以下警告提示:

    这个问题的原因是msmtp没有权限操作log目录,我们需要手动去创建日志文件并设置好权限让msmtp可读写。

    pi@raspberry:~ $sudo touch /var/log/msmtp.log

    pi@raspberry:~ $sudo chmod 666 /var/log/msmtp.log

    设置启动自动发送邮件

    1、编写邮件发送脚本

    pi@raspberry:~ $ nano sendmail.sh

    sendmail.sh内容如下:

    #!/bin/sh

    sleep 1m

    echo "hello pi" |mutt -s "hello" 接收的邮箱

    sleep 1m,表示等待一分钟,是因为启动执行这段脚本时网络未必已经连接。

    给脚本增加执行权限

    pi@raspberry:~ $ chmod +x sendmail.sh

    2、将脚本设置为开机自启动

    编辑/etc/rc.local文件

    pi@raspberry:~ $ �sudo nano /etc/rc.local

    在exit 0之前加入一行代码:

    su pi -c "exec ~/sendmail.sh" &

    代码末尾的“&”表示不等待脚本执行完毕就返回,事实情况会创建新的进程去执行这条命令。

    重启,测试,1分钟后查看邮箱就会收到邮件了。

    另外

    如果发送邮件是成功的,但是邮箱始终收不到邮箱,请检查下邮箱设置或者查看下垃圾箱,看看是否邮件是否被过滤到垃圾箱里面去了。


    关注微信公众号及时获取更新文章,欢迎大家跟我交流技术与想法:

    相关文章

      网友评论

        本文标题:【教程】树莓派自动发送邮件

        本文链接:https://www.haomeiwen.com/subject/zddgyxtx.html