自建NAS上,使用ssmtp向外部邮箱发送邮件

自建NAS后, 需要把脚本搜集到的日志、使用状态等数据发送给外部邮箱。

比如 自建NAS,DDNS动态设置IPv6 后,在更新IP6时,操作失败。

此时通过域名无法访问,但内网还可以访问互联网,故需要把错误通过邮件的方式告警。

如果自己搭建邮件服务器的话,其他邮件服务商大多会拒收,所以不用postfix等邮局服务软件。

本文用到的是ssmtp工具包,搭配163的邮件服务,通过163向外部邮箱发邮件。

第一步,安装ssmtp 工具

sudo apt install ssmtp mailutils

需要安装两个工具包,这两个工具包功能描述如下

ssmtp       -- 用于建立到163的通信

mailutils   -- 发送邮件的工具包,主要使用其中的mail命令;
               默认带着postfix,安装ssmtp会禁用postfix,
               在安装完成后可卸载掉postfix;

如果先安装mailutils会弹出配置postfix的选项,选第一项不配置即可;

第二步,修改 ssmtp 的配置文件

1. 修改 /etc/ssmtp/ssmtp.conf 文件   

root=abc@163.com
mailhub=smtp.163.com:465
hostname=smtp.163.com:465
AuthUser=abc@163.com
AuthPass=163提供的密钥,在邮箱开启smtp选项里可以拿到。
UseTLS=YES

打开163邮箱,进入设置选项卡,在POP3/SMTP/IMAP 下开启 IMAP/SMTP服务。

然后在授权码的位置新增授权码,粘贴到AuthPass后面。

163 邮箱 smtp

2. 修改 /etc/ssmtp/revaliases

root:abc@163.com:smtp.163.com:465

第三步、测试服务运行是否正常:

mail -s "test mail" ou.leiqi@163.com

命令行里,可向自己发封邮件进行测试,这样可以立即收到邮件,用于检测是否正常。

 

评论列表: