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

相关推荐
安 当 加 密17 小时前
多云密钥统一管理实战:CKMS对接阿里云/华为云密钥服务
数据库·阿里云·华为云
draymond71071 天前
阿里云-spring boot 接入SLS日志
阿里云
编程乐学(Arfan开发工程师)10 天前
74、单元测试-前置条件
redis·python·阿里云·单元测试·云计算·bootstrap
Elastic 中国社区官方博客11 天前
如何在 Python 中连接 Elasticsearch 并使用 Qwen3 来实现 RAG
大数据·人工智能·python·elasticsearch·搜索引擎·阿里云·全文检索
Liudef0611 天前
阿里云魔搭社区AIGC专区:中国AI创作的革命性平台
人工智能·阿里云·aigc
从零开始学习人工智能11 天前
麒麟系统上设置Firefox自动化测试环境:指定Marionette端口号
阿里云·firefox·腾讯云
云资源服务商11 天前
阿里云无影:开启云端办公娱乐新时代
阿里云·云计算
明似水12 天前
通义千问(Qwen):阿里云打造的全能AI大模型
人工智能·阿里云·云计算
你们补药再卷啦12 天前
对接支付宝,阿里云沙箱服务
阿里云
XINVRY-FPGA12 天前
XCVU47P-2FSVH2892E Xilinx Virtex UltraScale+ FPGA AMD
c语言·c++·人工智能·嵌入式硬件·阿里云·fpga开发·fpga