You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Golang的gomail库添加MP4附件发邮件时连接被强制关闭求助

解决Gomail发送MP4附件时连接被强制断开的问题

排查方向与解决方案

1. 检查文件大小是否超出SMTP服务器限制

从报错IP判断你使用的是Gmail SMTP服务,它默认限制单邮件(含附件和正文)最大25MB。如果video.mp4超过这个阈值,服务器会直接断开连接。

  • 处理方式:查看文件大小,若超限,要么压缩视频体积,要么将视频上传到云存储,在邮件正文中插入分享链接替代直接附件。

2. 延长SMTP连接超时时间

大文件上传耗时较长,容易触发服务器的连接超时限制。给Dialer设置更长的超时:

d := gomail.NewDialer(SmtpHost, SmtpPort, From, PswFrom)
// 设置30秒超时,可根据文件大小调整
d.Timeout = 30 * time.Second

3. 启用分块传输编码

大文件一次性发送可能被服务器拦截,手动开启分块编码可拆分数据传输:
在创建邮件消息后添加:

m.SetHeader("Content-Transfer-Encoding", "chunked")

4. 验证Gmail账户的安全设置

如果使用Gmail SMTP,需确认:

  • 若账户开启了两步验证,必须使用应用专用密码登录SMTP,不能用原账户密码
  • 若未开启两步验证,需确保账户允许“不太安全的应用访问”(部分旧账户支持,新账户可能需改用应用密码)
  • 查看Google账户安全日志,确认SMTP连接未被安全机制拦截

5. 更换支持大附件的SMTP服务

如果以上方法都无效,可改用SendGrid、Mailgun等第三方邮件服务,它们通常支持更大的附件(比如SendGrid单邮件上限30MB),且对大文件传输的兼容性更好。


内容的提问来源于stack exchange,提问作者Francesco Bassignana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:40:22