From 61d2ba644c452a654fe61347a5b36bb65939eb88 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 22 Aug 2018 23:40:50 -0400 Subject: [PATCH] allow custom smtp auth type --- src/Core/GlobalSettings.cs | 1 + .../Implementations/SmtpMailDeliveryService.cs | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) 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();