阿里云服务器邮件发送失败(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("[email protected]", "我是测试邮件", "送你一朵小红花")
	fmt.Println(err)
}

func sendMail(to, subject, body string) error {
	m := gomail.NewMessage()
	m.SetHeader("From", "[email protected]")
	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 天前
怎么选择合适的高防IP
服务器·网络·网络协议·tcp/ip·阿里云·udp·ddos
Bruk.Liu2 天前
Go语言使用阿里云模版短信服务
阿里云·golang·短信发送
wusam2 天前
Linux系统管理与编程24:基础条件准备-混搭“本地+阿里云”yum源
linux·运维·阿里云·shell
阿里云大数据AI技术2 天前
Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
大数据·人工智能·阿里云·spark·serverless·云计算
一位搞嵌入式的 genius3 天前
最悉心的指导教程——阿里云创建ECS实例教程+Vue+Django前后端的服务器部署(通过宝塔面板)
前端·后端·python·阿里云·宝塔页面
XINVRY-FPGA3 天前
XCVP1902-2MSEVSVA6865 Xilinx FPGA Versal Premium SoC/ASIC
嵌入式硬件·安全·阿里云·ai·fpga开发·云计算·fpga
国际云,接待3 天前
阿里云CDN和腾讯云CDN综合对比
运维·服务器·阿里云·性能优化·云计算·腾讯云
天河归来3 天前
通过阿里云服务发送邮件
数据库·阿里云·云计算
hnlucky3 天前
k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤
linux·运维·学习·阿里云·容器·kubernetes·云计算