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

使用Logic App通过Gmail发送ADLS文件附件失败,遇SMTP连接错误

解决Logic App通过Gmail发送附件时的连接中止问题

我看到不少开发者都遇到过类似的问题——明明附件大小符合限制,却还是触发了Unable to read data from the transport connection: An established connection was aborted by the software in your host machine错误。结合社区的反馈和实际排查经验,给你几个可行的解决方向:

1. 验证Gmail账号的认证配置

如果你开启了Gmail的两步验证(2FA),绝对不能用普通密码配置Logic App的Gmail连接器,必须使用Google生成的应用专用密码(App Password)。很多用户因为忽略这一点,导致底层SMTP连接认证失败,最终触发连接中止错误。

另外,确认连接器使用的SMTP端口和加密方式:Gmail默认支持587端口(TLS加密)和465端口(SSL加密),可以尝试在连接器配置里切换端口试试,有时候特定环境下某一个端口会被网络策略限制。

2. 调整Logic App的超时与重试策略

文件从ADLS读取后传输到Gmail的过程中,可能因为网络波动或文件读取延迟导致连接超时。你可以:

  • 打开发送邮件的操作设置,将超时时间从默认的60秒延长到300秒左右;
  • 启用重试策略,选择“指数间隔”或“固定间隔”,增加重试次数(比如3-5次),让Logic App在连接中断后自动重试。

同时,确保ADLS文件读取操作完全完成后再触发发送邮件步骤——可以在读取操作后添加一个“延迟”动作(比如10秒),或者设置依赖条件确认文件内容已成功获取。

3. 排查网络层面的限制

错误提示里的“主机机器软件中止连接”,大概率是网络层面的问题:

  • 如果你的Logic App部署在Azure虚拟网络(VNet)中,检查网络安全组(NSG)的出站规则,确保允许访问smtp.gmail.com的587/465端口;
  • 确认Azure数据中心到Gmail SMTP服务器的网络连通性,可以通过Azure Monitor查看Logic App的出站流量日志,排查是否有数据包丢失;
  • 如果你所在的环境有企业防火墙或代理,需要确认这些设备没有拦截到Gmail SMTP服务器的连接。

4. 排查文件编码与传输体积问题

虽然你设置了20MB的大小限制,但要注意:Logic App中获取的文件大小是原始字节数,而附件在通过SMTP发送时会被Base64编码,编码后的体积会比原始文件大30%左右。比如18MB的原始文件,编码后会变成23.4MB,虽然还在Gmail的30MB限制内,但某些情况下可能触发中间节点的限制。你可以尝试将限制阈值调低到15MB,测试是否能正常发送。

另外,也可以尝试通过Gmail的REST API直接发送附件(替代内置的Gmail连接器),有些用户反馈这种方式比SMTP更稳定,避免了底层SMTP连接的问题。

很多社区用户通过上述方法解决了类似问题,比如有用户发现是VNet的NSG规则阻止了SMTP端口,打开后立即恢复正常;还有用户切换到App Password后解决了认证导致的连接中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:34:16