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

相关推荐
翼龙云_cloud4 小时前
阿里云渠道商:阿里云弹性伸缩如何助力海量数据采集?
服务器·阿里云·云计算
Vivienne_ChenW6 小时前
Apollo 配置中心核心用法(实战版)
java·开发语言·分布式·阿里云·产品运营
主机哥哥14 小时前
阿里云OpenClaw(原Clawdbot/Moltbot)一键秒级部署教程
阿里云·云计算
70asunflower18 小时前
阿里云无影云电脑 Docker 使用完全指南
阿里云·docker·云计算
主机哥哥18 小时前
零基础入门:阿里云OpenClaw部署全流程详解(图文版)
阿里云·云计算
feng一样的男子1 天前
阿里云的moltbot机器人使用钉钉的Stream流式接入
阿里云·机器人·钉钉
yuankoudaodaokou1 天前
职业院校技能大赛三维扫描设备选购指南:思看科技解决方案解析
阿里云
阿里云大数据AI技术1 天前
淘宝闪购基于阿里云 EMR Serverless Spark&Paimon 的湖仓实践:超大规模下的特征生产&多维分析双提效
starrocks·阿里云·spark·paimon
TG_yunshuguoji1 天前
阿里云代理商:如何通过控制台连接ECS实例?
运维·阿里云·云计算
PM老周1 天前
2026年常用瀑布管理工具有哪些?
阿里云·云计算·团队开发·产品经理·个人开发