安装和配置系统的 mailx
这里以服务器首选的 CentOS 7为例(好像默认都已经集成了 mailx 的,至于说 sendmail,明月感觉效能差,就不做参考了)。
运行命令:
- yum -y install mailx
即可自动安装 mialx 了。安装完成后,编辑 /etc/mail.rc 文件配置 mailx 使用 腾讯企业邮箱作为发送邮件邮箱。
在配置文件最后添加如下腾讯企业邮箱 邮箱配置即可(记得保存更新哦):
vi /etc/mail.rc ''' set from=xxxxxx@$domain.com set smtp=smtps://smtp.exmail.qq.com:465 set smtp-auth-user=xxxxxx@$domain.com set smtp-auth-password=你的腾讯企业邮箱密码 set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/etc/zabbix/scripts/.certs
记得要用到腾讯企业邮箱密码哦,可以提前复制填到标注的对应位置即可!
因为阿里云 ECS 封禁了 25 端口,所以我们只能使用 TLS 方式(TSL 也就是使用 SSL 加密的方式,使用 465 或者其他端口来发送邮件)绕过 25 端口需求来发送邮件,所以必须先获得邮箱的 SSL 证书并存放到本地,最后一行的 nss-config-dir 就是制定的存放 QQ 邮箱 SSL 证书的位置。
因为需要 腾讯企业邮箱的 SSL 证书,所以我们还需要手动的获取腾讯企业邮箱的证书保存到本地指定的目录里以备调用和验证,具体命令如下:
- mkdir -p /etc/zabbix/scripts/.certs
- echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ >/etc/zabbix/scripts/.certs/qq.crt
- certutil -A -n “GeoTrust SSL CA” -t “C,,” -d /etc/zabbix/scripts/.certs/ -i /etc/zabbix/scripts/.certs/qq.crt
- certutil -A -n “GeoTrust Global CA” -t “C,,” -d /etc/zabbix/scripts/.certs/ -i /etc/zabbix/scripts/.certs/qq.crt
- certutil -L -d /etc/zabbix/scripts/.certs/
为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令:
- cd /etc/zabbix/scripts/.certs/ && certutil -A -n “GeoTrust SSL CA – G3” -t “Pu,Pu,Pu” -d ./ -i qq.crt
返回如下提示即可:
- **Notice: Trust flag u is set automatically if the private key is present.**
这是为了信任证书的标记操作。
至此,已经完成了 mailx 结合 腾讯企业邮箱邮箱发送系统邮件的部署了,通过命令行发送测试邮件试试吧:
- mailx -s “邮箱测试” xxxx@$domain.com < message_file.txt
命令行解读:发送主题为“邮箱测试”,内容为当前目录下 message_fiel.txt 文件内容到 xxxx@$domain.com 邮箱。
测试邮件一旦成功,收件箱会马上收到邮件,如果没有收到,则等一会可以看到 shell 界面的错误提示;反正明月照着上述设置后是成功收到邮件了,祝大家一次配置成功!