我已经在堆栈溢出和其他地方找到了很多答案,但我仍然找不到一个关于如何:的好例子
在C#中,在引入STARTTLS后,成功地通过sparkpost smtp发送电子邮件。Sparkpost中的文档(https://www.sparkpost.com/docs/getting-started/getting-started-sparkpost/,搜索starttls(指的是以下设置:
SMTP主机:SMTP.sparkpostmail.com端口:587或2525加密:STARTTLS用户名:SMTP_Inpression密码:
在我当前的应用程序中,在web.config中,我像这样配置sparkpost-smtp:
<network host="smtp.sparkpostmail.com" port="587" userName="SMTP_Injection" password="..." enableSsl="true" />
…
直到7月初,这一切都很顺利。然后TLS 1.0不再受支持。所以我想让我们的电子邮件重新工作
但是STARTTLS是如何发挥作用的呢?
我在smtp C#代码中添加了ServicePointManager.SecurityProtocol行,这一切又开始工作了。希望这能有所帮助。
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");