阿里云服务器邮件发送失败(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 语言实现发送邮件)

相关推荐
是乐谷4 小时前
阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)
java·人工智能·阿里云·面试·职场和发展·机器人·云计算
玩转以太网7 小时前
3 种方式玩转网络继电器!W55MH32 实现网页 + 阿里云 + 本地控制互通
网络·物联网·阿里云
Serverless社区4 天前
Function AI 助力用户自主开发 MCP 服务,一键上云高效部署
阿里云·云原生·serverless
TG_yunshuguoji4 天前
阿里云国际DDoS高防:添加网站配置指南
运维·后端·阿里云
不是二师兄的八戒4 天前
阿里云KMS完全指南:从零开始的密钥管理实践
数据库·阿里云·云计算
懒散猴4 天前
【无标题】centos 配置阿里云的yum源
linux·阿里云·centos
战族狼魂4 天前
Excel 连接阿里云 RDS MySQL
mysql·阿里云·云计算·excel
久绊A4 天前
云计算分类与主流产品
阿里云
云布道师5 天前
秒懂边缘云|1分钟了解边缘安全加速 ESA
人工智能·安全·阿里云·ai·云计算·云布道师
马特说5 天前
Python FastAPI + React + Nginx 阿里云WINDOWS ECS部署实战:从标准流程到踩坑解决全记录
阿里云·云计算