0 votes


I am evaluating the .net 2.0 version of your smtp component.

I am connecting to a 3rd party smtp server which I don't have control over. TLS 1.0 and 1.1 are going to be deprecated soon so I wanted to make sure that I am using TLS 1.2.

I am using this statement in my code:

smtp.SSLConfiguration.EnabledSslProtocols = 3072

Does this mean I am using TLS 1.2?



1 Answer

0 votes

You should update your application to the latest .net framework version (e.g. .net 4.8 or at least .net 4.5) and update to the most recent Mail.dll email component. Mail.dll library supports latest .net versions: .net 6, .net 7 as well as latest .net framework version 4.8.

You can then use SslProtocols enum:

smtp.SSLConfiguration.EnabledSslProtocols = SslProtocols.Tls12

It is possible to use TLS 1.2 in applications targeting earlier .NET framework versions (2.0 - 4.0), however .net framework 4.5 must be installed on the running machine.

Your old app will use the 4.5 System.dll and you can enable TLS 1.2 using the trick with 3072 value.

by (295k points)

We have an old ASP.NET application running on .net framework 2.0 and uses TLS 1.0. I need to upgrade it to TLS 1.2, at least, to support sending emails.

Upgrading to a higher .net framework is not feasible at the moment because of time constraints.

I am using the "EnabledSslProtocols" statement you stated. For as long as .net 4.5 framework is installed, I can use TLS 1.2 on applications running on lower .net framework versions.