private void CleanAddresses(MailMessage message) { if (Settings.Current.AppMode == AppMode.Production) { return; } var invalid = new List <string>(); invalid.AddRange(CleanAddresses(message.To)); invalid.AddRange(CleanAddresses(message.Cc)); invalid.AddRange(CleanAddresses(message.Bcc)); if (invalid.Count == 0) { return; } var invalidAddresses = invalid.ToDelimitedString(); if (invalid.Count <= 3) { message.Subject = String.Concat("[", invalidAddresses, "] ", message.Subject).StripInvisible(); } var testAddress = Settings.Current.TestEmailAddress; message.To.Add(testAddress); _logger.Info("Redirect Email to {0}; Original Recipients: {1}", testAddress, invalidAddresses); }
public Task SendAsync(MailMessage model) { // clean before sending CleanAddresses(model); // send to wrapped sender return(InnerSender.SendAsync(model)); }