前言
有时候我们可能需要对服务器进行监控,一开始我是打算使用短信 api 的,但是国内的两家云服务商,一家需要资质,一家要钱。而且我根本用不到这么多,所以不值得付出这么高的代价。关于为什么不自建邮局,那是因为确实用不到这么多的量,而且也没找到自己满意的邮局程序。
发送邮件我使用的 smtp,邮箱用的 gmail。注意哦要想使用 smtp 发送 gmail 邮件,需要在账号安全里允许不安全应用访问。
本次演示基于 debian 理论上适合于所有 linux 发行版
安装
发送邮件的软件我使用的是 msmtp。接着来就开始正式安装了。
更新软件源
sudo apt update
安装 msmtp 以及 TLS 证书,TLS 证书一般是默认安装了的,不过为了方便演示还是写上了
sudo apt install msmtp ca-certificates
创建 msmtp 配置文件,~/.msmtprc
并写入以下内容。注意!需要将 form user passwd 这几个字段后面的信息替换为你自己的账号信息。
# Set default values for all following accounts.
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
# Gmail
account gmail
host smtp.gmail.com
port 587
from [email protected]
user [email protected]
password plain-text-password
# Set a default account
account default : gmail
因为我们在 ~/.msmtprc
写入了我们的账号信息,为了保护我们的隐私,我们赋予它 600 权限,不保护是不行的,因为保护 msmtp 会报错
chmod 600
~/.msmtprc`
然后就可以开始发送邮件了
使用 echo
配合管道符发送邮件
echo "from shell" | msmtp -a default [email protected]
或者编辑好文本后打印进去
cat test.mail | msmtp -a default [email protected]
注意
如果发现登录失败的话很有可能是,google 账号管理,没有打开不安全应用访问。
如果无法给QQ邮箱发送邮件多半是因为QQ邮箱屏蔽了gmail