自建NAS后, 需要把脚本搜集到的日志、使用状态等数据发送给外部邮箱。
比如 自建NAS,DDNS动态设置IPv6 后,在更新IP6时,操作失败。
此时通过域名无法访问,但内网还可以访问互联网,故需要把错误通过邮件的方式告警。
如果自己搭建邮件服务器的话,其他邮件服务商大多会拒收,所以不用postfix等邮局服务软件。
本文用到的是ssmtp工具包,搭配163的邮件服务,通过163向外部邮箱发邮件。
sudo apt install ssmtp mailutils
需要安装两个工具包,这两个工具包功能描述如下
ssmtp -- 用于建立到163的通信
mailutils -- 发送邮件的工具包,主要使用其中的mail命令;
默认带着postfix,安装ssmtp会禁用postfix,
在安装完成后可卸载掉postfix;
如果先安装mailutils会弹出配置postfix的选项,选第一项不配置即可;
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后面。
2. 修改 /etc/ssmtp/revaliases
root:abc@163.com:smtp.163.com:465
mail -s "test mail" ou.leiqi@163.com
命令行里,可向自己发封邮件进行测试,这样可以立即收到邮件,用于检测是否正常。