我创建了一个简单的ASP.NET Web API应用程序,它接收来自SendGrid的已解析电子邮件。使用带有ngrok的安全隧道在我的机器上运行良好。已解析的电子邮件内容将发布到本地托管的应用程序。
但是,当我将此应用程序部署到Azure时,它无效。我尝试在SendGrid中使用HTTP和HTTPS作为回调URL,但不处理电子邮件。在SendGrid的“活动”页面中,没有Parsed电子邮件的条目。我收到了一封发送失败的电子邮件,用于本应由SendGrid处理的电子邮件。
回复是:550目前没有该名称的邮箱
我知道应用是可以访问的,因为我可以通过浏览器或其他工具成功地向其他资源发出HTTP请求。
有什么我可能错过的吗?一些额外的配置,适用于app或SendGrid?
答案 0 :(得分:1)
简短的答案是这样:
如果将CloudFlare用于DNS,则很有可能CloudFlare停止了来自SendGrid的入站解析帖子。
在CloudFlare中查看防火墙事件日志(在“防火墙”选项卡下),并查看您的Web API“主机”是否出现在其中。
如果是这样,您需要做的是将SendGrid用于发送入站解析的帖子的IP地址范围列入白名单。
截至今天,它们当前用于入站解析的IP范围是167.89.117.0/24(基本上是IP地址从167.89.117.0到167.89.117.255)。
希望这可以帮助您或具有相同问题/根本原因的其他人。