阿里云ECS实例邮件发送不了的解决办法

2020年8月6日19:10:31 发表评论

阿里云服务器:[活动地址]

购买可领取:[阿里云2000元代金券]

最近要做一个定时任务错误信息实时转发到邮件,由于用的阿里云服务器一直不成功,在网上找了下原因:

是因为阿里云服务器关闭了25端口,发送邮件才会显示链接超时,而且官方不允许打开该端口,而且大部分邮件都是通过25端口,在网上找了个还不错,以网易163邮箱为例,使用SSL下的465端口。

具体操作:

一、请求数字证书

mkdir -p /root/.certs/ ####创建目录,用来存放证书

echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt ####向163请求证书

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt ####添加一个SSL证书到证书数据库中

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt ####添加一个Global 证书到证书数据库中

certutil -L -d /root/.certs ####列出目录下证书

二、配置发件人

输入命令: vi /etc/mail.rc

配置如下

[点我领取阿里云2000元代金券],(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

For Linux and BSD, this should be set.

set bsdcompat

set from=xxxxxx@163.com

set smtp=smtps://smtp.163.com:465

set smtp-auth-user=xxxxxx@163.com

set smtp-auth-password=xxxxxxx #此密码为第三方登录密码

set smtp-auth=login

set ssl-verify=ignore

set nss-config-dir=/root/.certs

三、测试
echo “test” | mail -s “zabbix” xxxxxxx@qq.com

登陆收件人邮箱查看
看似成功但是linux中报错:证书不被信任

四、解决最后一个问题-----证书不被信任

cd /root/.certs/

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt

成功标志:
Notice: Trust flag u is set automatically if the private key is present.

阿里云服务器:[活动地址]

购买可领取:[阿里云代金券]

阿里云服务器:[活动地址]

购买可领取:[阿里云2000元代金券]

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
阿里云最新代金券免费领取

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: