【发布时间】:2021-11-03 10:40:55
【问题描述】:
我们有以下配置
- 一个简单的 c# 代码,用于在 linux 容器中使用 smtp 客户端发送邮件
- smtp 中继是使用 sendgrid 配置的
- 在 azure appservices 中部署它,一切正常,我们正在接收电子邮件,没有任何问题
但是 Azure kubernetes 服务中的相同功能无法发送电子邮件,我们在日志中看到以下内容
使用 SMTP 发送电子邮件通知失败,因为发生了一些错误:System.Net.Mail.SmtpException: 发送邮件失败。 ---> System.IO.IOException:无法从传输连接读取数据:连接已关闭。
根据我们对该问题的理解,AKS 正在阻止这种情况,因为相同的代码在 azure appservice 中按预期工作,集群或 pod 级别是否需要任何特定端口或配置?我们尝试在 AKS 创建的默认 NSG 中允许 597 端口,但没有任何运气。
谢谢
【问题讨论】:
-
你在stmp服务器端有ip限制吗?
-
不,它只是一个简单的单节点集群,没什么特别的,我们交叉检查了 sendgrid 没有限制
-
您是否尝试过启用任何出站流量?你说的是这个吗?
-
我们发现配置 helm chart 的管理员在 smtp 用户名中给出了“api”而不是“apikey”的问题。感谢您的帮助。
标签: c# azure kubernetes azure-aks