From 9423bc4ea71747809b029dadfdf3545d5a6d0b68 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Mon, 27 Jun 2022 10:53:15 +0900 Subject: [PATCH] Fix: If SMTP port is 25, SSL shouldn't be used --- BTCPayServer/Services/Mails/EmailSettings.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/BTCPayServer/Services/Mails/EmailSettings.cs b/BTCPayServer/Services/Mails/EmailSettings.cs index d24fee3d4..8596e6f03 100644 --- a/BTCPayServer/Services/Mails/EmailSettings.cs +++ b/BTCPayServer/Services/Mails/EmailSettings.cs @@ -75,7 +75,10 @@ namespace BTCPayServer.Services.Mails client.ServerCertificateValidationCallback = (s, c, h, e) => true; #pragma warning restore CA5359 // Do Not Disable Certificate Validation } - await client.ConnectAsync(Server, Port.Value, MailKit.Security.SecureSocketOptions.Auto, connectCancel.Token); + var sslOptions = MailKit.Security.SecureSocketOptions.Auto; + if (Port is int p && p == 25) // Workaround for https://github.com/jstedfast/MailKit/pull/1398 + sslOptions = MailKit.Security.SecureSocketOptions.None; + await client.ConnectAsync(Server, Port.Value, sslOptions, connectCancel.Token); if ((client.Capabilities & SmtpCapabilities.Authentication) != 0) await client.AuthenticateAsync(Login ?? string.Empty, Password ?? string.Empty, connectCancel.Token); }