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

相关推荐
青梅主码-杰哥1 天前
中央广播电视总台联合阿里云研究院权威发布《中国人工智能应用发展报告(2025)》:我国依旧需要大力注重人工智能人才的培养
人工智能·阿里云·云计算
NUZGNAW1 天前
等保二级、三级配置表(阿里云)
阿里云·云计算
旧书包的青春1 天前
阿里云ECS坑之dnf-makecache系统软件更新检测服务
阿里云·云计算
go54631584651 天前
基于阿里云平台的文章评价模型训练与应用全流程指南
图像处理·人工智能·深度学习·阿里云·cnn·机器人·云计算
顽疲1 天前
从零用java实现 小红书 springboot vue uniapp(14) 集成阿里云短信验证码
java·vue.js·spring boot·阿里云·uni-app
&zzz2 天前
使用 MobaXterm 登录你的阿里云 ECS 实例
阿里云·云计算
破坏的艺术2 天前
使用阿里云 ESA 边缘函数转发代理 docker registry
阿里云·docker·esa
铁锹少年3 天前
Docker 容器中的 HEAD 请求缺失 header?从 Content-MD5 缺失聊起
经验分享·python·网络协议·阿里云·docker·容器·云计算
WIZnet3 天前
第十一章 W55MH32 SMTP示例
arm开发·以太网·wiznet·smtp·高性能以太网单片机·w55mh32·网络邮件