繁体   English   中英

Windows Defender 防火墙阻止了 sendgrid

[英]Windows Defender Firewall is blocking sendgrid

我将 sendgrid 设置为使用 web api(而不是 smtp 中继)来发送电子邮件。 我按照 C# 如何发送电子邮件的说明进行操作,包括创建 api 密钥环境变量和安装 nuget 包 sendgrid。

调用 client.SendEmailAsync(msg) 后,返回的响应为“已接受”,表示一切正常。 但是我的测试电子邮件没有收到任何电子邮件。

关闭 Windows Defender 防火墙后,发送了电子邮件。 所以我认为防火墙阻止发送我的电子邮件?

我的问题是,如何在防火墙中为 sendgrid 添加例外设置以允许从 sendgrid 传出电子邮件,或者我错过了 sendgrid 或防火墙中的配置?

编码:

        var apiKey = Environment.GetEnvironmentVariable("SendGridApiKey");
        var client = new SendGridClient(apiKey);
        var from = new EmailAddress("test@example.com", "Example User");
        var subject = "Sending with SendGrid is Fun";
        var to = new EmailAddress("my_outlook_email_here", "Example User");
        var plainTextContent = "and easy to do anywhere, even with C#";
        var htmlContent = "<strong>and easy to do anywhere, even with C#</strong>";
        var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
        var response = await client.SendEmailAsync(msg);

我将端口 25 和 587 添加到 TCP 和 UDP 的入站规则和出站规则中,以打开 Windows 防火墙中的端口,但仍然无法发送电子邮件。

虽然这是一个老问题,但我的防火墙也有类似的问题。 我必须允许从 sendgrid 服务器(传出接口)到我的 DMZ(传入接口,我的网站所在的接口)的 HTTPS 传输。 用于来自我的服务器 54.155.98.0 的 sendgrid 的地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM