add additional SSL connection options for SMTP

This commit is contained in:
sbwalker
2025-08-19 13:16:37 -04:00
parent 78f8e2f484
commit 96192e2e06
3 changed files with 52 additions and 10 deletions

View File

@ -81,9 +81,31 @@ namespace Oqtane.Infrastructure
// construct SMTP Client
using var client = new SmtpClient();
var secureSocketOptions = SecureSocketOptions.Auto;
switch (settingRepository.GetSettingValue(settings, "SMTPSSL", "Auto"))
{
case "None":
secureSocketOptions = SecureSocketOptions.None;
break;
case "Auto":
secureSocketOptions = SecureSocketOptions.Auto;
break;
case "StartTls":
secureSocketOptions = SecureSocketOptions.StartTls;
break;
case "SslOnConnect":
case "True": // legacy setting value
secureSocketOptions = SecureSocketOptions.SslOnConnect;
break;
case "StartTlsWhenAvailable":
case "False": // legacy setting value
secureSocketOptions = SecureSocketOptions.StartTlsWhenAvailable;
break;
}
await client.ConnectAsync(settingRepository.GetSettingValue(settings, "SMTPHost", ""),
int.Parse(settingRepository.GetSettingValue(settings, "SMTPPort", "")),
bool.Parse(settingRepository.GetSettingValue(settings, "SMTPSSL", "False")) ? SecureSocketOptions.StartTls : SecureSocketOptions.None);
int.Parse(settingRepository.GetSettingValue(settings, "SMTPPort", "")),
secureSocketOptions);
if (settingRepository.GetSettingValue(settings, "SMTPAuthentication", "Basic") == "Basic")
{