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

https://developer.aliyun.com/article/748133

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

简介: 最近要做一个定时任务错误信息实时转发到邮件,由于用的阿里云服务器一直不成功,在网上找了下原因: 是因为阿里云服务器关闭了25端口,发送邮件才会显示链接超时,而且官方不允许打开该端口,而且大部分邮件都是通过25端口,在网上找了个还不错,以网易163邮箱为例,使用SSL下的465端口。

 


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


是因为阿里云服务器关闭了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.

阿里云服务器:活动地址

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

posted @   ianCloud  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示