From 2d6ceb18dee2b2da833db1eec1bc0386cc607e13 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 9 Oct 2017 21:43:45 -0400 Subject: [PATCH] log issues with smtp mail service --- .../SmtpMailDeliveryService.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs index 1df678372..135a6e205 100644 --- a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs +++ b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs @@ -3,14 +3,18 @@ using System.Threading.Tasks; using System.Net.Mail; using System.Net; using System.Text; +using Microsoft.Extensions.Logging; namespace Bit.Core.Services { public class SmtpMailDeliveryService : IMailDeliveryService { private readonly GlobalSettings _globalSettings; + private readonly ILogger _logger; - public SmtpMailDeliveryService(GlobalSettings globalSettings) + public SmtpMailDeliveryService( + GlobalSettings globalSettings, + ILogger logger) { if(globalSettings.Mail?.Smtp?.Host == null) { @@ -18,6 +22,7 @@ namespace Bit.Core.Services } _globalSettings = globalSettings; + _logger = logger; } public Task SendEmailAsync(Models.Mail.MailMessage message) @@ -58,8 +63,18 @@ namespace Bit.Core.Services smtpMessage.AlternateViews.Add(htmlView); } - client.SendCompleted += (s, e) => + client.SendCompleted += (sender, e) => { + if(e.Error != null) + { + _logger.LogError(e.Error, "Mail send failed."); + } + + if(e.Cancelled) + { + _logger.LogWarning("Mail send canceled."); + } + smtpMessage.Dispose(); client.Dispose(); };