From 0fda72c6b04e9627b4a42da1f8de1acbc6b3f6ad Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 10 Sep 2018 08:45:57 -0400 Subject: [PATCH] add message id header to smtp mail --- .../Services/Implementations/SmtpMailDeliveryService.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs index 6b7b80f472..5f206686e8 100644 --- a/src/Core/Services/Implementations/SmtpMailDeliveryService.cs +++ b/src/Core/Services/Implementations/SmtpMailDeliveryService.cs @@ -11,6 +11,7 @@ namespace Bit.Core.Services { private readonly GlobalSettings _globalSettings; private readonly ILogger _logger; + private readonly string _replyDomain; public SmtpMailDeliveryService( GlobalSettings globalSettings, @@ -20,6 +21,10 @@ namespace Bit.Core.Services { throw new ArgumentNullException(nameof(globalSettings.Mail.Smtp.Host)); } + if(globalSettings.Mail?.ReplyToEmail?.Contains("@") ?? false) + { + _replyDomain = globalSettings.Mail.ReplyToEmail.Split('@')[1]; + } _globalSettings = globalSettings; _logger = logger; @@ -57,6 +62,10 @@ namespace Bit.Core.Services smtpMessage.SubjectEncoding = Encoding.UTF8; smtpMessage.BodyEncoding = Encoding.UTF8; smtpMessage.BodyTransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable; + if(!string.IsNullOrWhiteSpace(_replyDomain)) + { + smtpMessage.Headers.Add("Message-ID", $"<{Guid.NewGuid()}@{_replyDomain}>"); + } foreach(var address in message.ToEmails) { smtpMessage.To.Add(new MailAddress(address));