由于云服务器大多限制25端口,导致linux上发不出邮件,所以推荐使用465端口发送邮件。
使用smtps 465端口发送邮件
1. 创建目录,用来存放证书
mkdir -p /root/.certs/
2. 向163请求证书
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
3. 添加证书到证书数据库中
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
4. 添加可信任
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i ~/.certs/163.crt
5. /etc/mail.rc 中新增邮箱配置信息
set from=user@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=user
set smtp-auth-password=DPHCBTDNUUIEQAUR
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
- 注意该处的密码不是登录密码,是向服务商申请的授权码,一般邮件设置里可申请。
6. 邮件测试
echo "test mail" | mail -s "zabbix" user@163.com
使用smtp 25端口发送
- 只需要修改 /etc/mail.rc 中的配置
set from=user@163.com
set smtp=smtp.163.com
set smtp-auth-user=user
set smtp-auth-password=DPHCBTDNUUIEQAUR
set smtp-auth=login
set ssl-verify=ignore