2

我在堆栈溢出和其他地方查看了许多答案,但我仍然找不到一个很好的例子来说明如何:

在 C# 中,在引入 STARTTLS 后通过 sparkpost smtp 成功发送电子邮件。Sparkpost 中的文档(https://www.sparkpost.com/docs/getting-started/getting-started-sparkpost/,搜索 starttls )指的是以下设置:

SMTP 主机:smtp.sparkpostmail.com 端口:587 或 2525 加密:STARTTLS 用户名:SMTP_Injection 密码:

在我当前的应用程序中,在 web.config 中,我像这样配置 sparkpost smtp:

        <network host="smtp.sparkpostmail.com" port="587" userName="SMTP_Injection" password="..." enableSsl="true" />

…</p>

直到 7 月初,这一切都很好。然后不再支持 TLS 1.0。所以我想让我们的电子邮件再次工作

但是 STARTTLS 是如何发挥作用的呢?

4

1 回答 1

0

我将 ServicePointManager.SecurityProtocol 行添加到我的 smtp C# 代码中,这一切又开始工作了。希望这可以帮助。

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.sparkpostmail.com";
smtp.Port =  587; // 2525
smtp.EnableSsl = true;
//NOTE THE LINE BELOW
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
smtp.Credentials = new NetworkCredential("SMTP_Injection", "YOURKEY");
于 2018-08-06T21:15:59.873 回答