Exemple #1
0
        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);
        }
Exemple #2
0
        public Task SendAsync(MailMessage model)
        {
            // clean before sending
            CleanAddresses(model);

            // send to wrapped sender
            return(InnerSender.SendAsync(model));
        }