阿里云服务器邮件发送失败(dail tcp xxxx:25: i/o timeout)因为阿里云默认禁用 25 端口

最近在测试发送邮件的功能,发现了一个奇怪的问题,同样的 docker 镜像,在本地跑起来是可以正常发送邮件的,但是在阿里云的服务器上跑,就会报错 i/o timeout

排查了一圈发现,原来是阿里云的操作,阿里云默认禁用 25 端口以防止垃圾邮件的传播,需使用 465587 端口来进行 SMTP 连接

go 示例代码

go 复制代码
package main

import (
	"crypto/tls"
	"fmt"
	"gopkg.in/gomail.v2"
)

func main() {
	err := sendMail("user@example.com", "我是测试邮件", "送你一朵小红花")
	fmt.Println(err)
}

func sendMail(to, subject, body string) error {
	m := gomail.NewMessage()
	m.SetHeader("From", "sender@example.com")
	m.SetHeader("To", to)
	m.SetHeader("Subject", subject)
	m.SetBody("text/html", body)

	// 这里端口换成 465
	d := gomail.NewDialer("smtp.example.com", 25, "user", "123456")
	// d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
	return d.DialAndSend(m)
}

感兴趣的可以看我写的另一篇有关电子邮件的文章 电子邮件发送接收原理(附 go 语言实现发送邮件)

相关推荐
观测云3 分钟前
阿里云 Tair 集群版可观测最佳实践
阿里云·云计算·观测云
困惑阿三1 小时前
全栈部署排雷手册:从 405 报错到飞书推送成功
服务器·前端·后端·nginx·阿里云·node.js·飞书
TG_yunshuguoji1 天前
阿里云代理商:怎么创建和连接RDS云数据库?
数据库·阿里云·云计算
gaize12131 天前
阿里云通用算力 u1|均衡性能省心之选
阿里云·云计算
weixin_457341891 天前
2026年阿里云ECS服务器全攻略:从基础认知和价格体系到购买以及部署流程
服务器·阿里云·云计算
systemlover2 天前
ai编码实现bookstack外挂阿里云oss实现图片附件托管到阿里云oss
阿里云·云计算
九皇叔叔2 天前
CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)
linux·阿里云·centos
upward3372 天前
OpenClaw 阿里云/本地部署多Agent步骤
人工智能·阿里云·云计算
gaize12132 天前
阿里云轻量适配宝塔|可视化管理更方便
阿里云·云计算