Если вы используете библиотеку, такую как MailKit , вы можете сделать это:
bool supportsStartTls;
using (var client = new SmtpClient ()) {
client.Connect ("smtp.host.com", 587, SecureSocketOptions.None);
supportsStartTls = client.Capabilities.HasFlag (SmtpCapabilities.StartTls);
client.Disconnect (true);
}
Если вы хотите использовать MailKit для отправки почты, у вас есть полный контроль над тем, что происходит, если STARTTLSнедоступно.
Например, если вы хотите, чтобы он потерпел неудачу, если STARTTLS не поддерживается, используйте SecureSocketOptions.StartTls
в качестве третьего аргумента для метода Connect
.
Если вы хотитеMailKit для использования STARTTLS, когда он доступен, но не может выйти из строя, если он не доступен, вместо этого используйте SecureSocketOptions.StartTlsWhenAvailable
.