diff --git a/src/Core/GlobalSettings.cs b/src/Core/GlobalSettings.cs index 9f4e5a0c75..26fb622afe 100644 --- a/src/Core/GlobalSettings.cs +++ b/src/Core/GlobalSettings.cs @@ -103,6 +103,7 @@ namespace Bit.Core public string Username { get; set; } public string Password { get; set; } public bool UseDefaultCredentials { get; set; } = false; + public string AuthType { get; set; } } } diff --git a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs index d03505bc19..6b7b80f472 100644 --- a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs +++ b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs @@ -35,8 +35,20 @@ namespace Bit.Core.Services if(!string.IsNullOrWhiteSpace(_globalSettings.Mail.Smtp.Username) && !string.IsNullOrWhiteSpace(_globalSettings.Mail.Smtp.Password)) { - client.Credentials = new NetworkCredential(_globalSettings.Mail.Smtp.Username, - _globalSettings.Mail.Smtp.Password); + if(!string.IsNullOrWhiteSpace(_globalSettings.Mail.Smtp.AuthType)) + { + var cred = new NetworkCredential(_globalSettings.Mail.Smtp.Username, + _globalSettings.Mail.Smtp.Password); + var cache = new CredentialCache(); + cache.Add(_globalSettings.Mail.Smtp.Host, _globalSettings.Mail.Smtp.Port, + _globalSettings.Mail.Smtp.AuthType, cred); + client.Credentials = cache; + } + else + { + client.Credentials = new NetworkCredential(_globalSettings.Mail.Smtp.Username, + _globalSettings.Mail.Smtp.Password); + } } var smtpMessage = new MailMessage();