阿里云ECScentos配置sendmail发送邮件

   

阿里云25端口无法使用,我使用465端口来发送邮件,虽然也可以申请开通25端口,但是太麻烦,毕竟我是个懒人。

1 阿里云ECS放开465端口管制

授权策略	协议类型	端口范围	授权类型(全部) 	授权对象	描述	优先级	创建时间
允许	自定义 TCP	465/465	IPv4地址段访问	0.0.0.0/0-1	2019年9月10日 01:08

2 安装mail和sendmail

# yum install -y mailx sendmail

3、配置mail ,注意密码一定要使用授权码不是密码

# vim /etc/mail.rc
...
set smtp="smtps://smtp.qq.com:465"
set smtp-auth=login
set smtp-auth-user="XXXXXX@qq.com"
set smtp-auth-password="你的授权码"
set ssl-verify=ignore
set nss-config-dir=/root/.certs
set from=XXX@qq.com

4 配置邮件服务器证书

# echo -n "" | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt#获取邮件服务器证书
# certutil -A -n 'qq' -t "P,P,P" -d /root/.certs -i  /root/.certs/qq.crt#将证书添加到受信任列表
# service sendmail restart#重启sendmail

5 测试发送

echo ‘邮件内容’ | mail -s ‘邮件标题’ 收件人邮箱

#  echo 'testceshiqingwuhuifu' | mail -s 'test' XXX@qq.com

可能遇到的问题:

1 smtp-server: 501 mail from address must be same as authorization user

无法登录服务器,可能是端口不通、密码错误、set from未设置

2 Error in certificate:peer's certificate issuer is not recognized.

这是由于使用加密通信,但客户端不能确认证书是否真实。

发表评论