我有一个使用SmtpClient
发送电子邮件的.NET 4.5.2应用程序。该应用程序安装在Windows 2012 R2服务器上。当我禁用TLS 1和TLS 1.1并仅启用TLS 1.2时,应用程序停止发送邮件。我认为这是因为.NET 4.5.2不支持v1.2。
我考虑以下步骤:
1> 在Windows Server上禁用TLS 1和TLS 1.1,并仅启用TLS 1.2。
2> 在Windows Server上安装.NET 4.8。
3> 修改应用程序的目标框架为4.8(在csproj和web.config中),然后重新编译。
4> 部署应用程序。
问题
根据文档:从.NET Framework 4.7.1开始,WCF默认使用操作系统配置的版本
1> 这只适用于WCF还是SMTP也会默认使用操作系统配置的版本?
2> 还是我需要显式设置版本,如: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
3> 是否可能现在就设置版本为TLS 1.2,并在将来TLS 1.3可用时应用程序自动默认为TLS 1.3?(无需再次更改代码)