示例#1
0
        public override void Run(Error error)
        {
            var message = new MailMessage();

            Recipients.AssertNotNullOrEmpty("Recipients");
            FormattedSubject.AssertNotNullOrEmpty("FormattedSubject");
            FormattedBody.AssertNotNullOrEmpty("FormattedBody");
            From.AssertNotNullOrEmpty("From");
            var stringBuilder = new StringBuilder(FormatString(FormattedBody, error));

            using (var htmlTextWriter = new HtmlTextWriter(new StringWriter(stringBuilder)))
            {
                _errorMailHtmlFormatter.Format(htmlTextWriter, error);
            }
            message.From = new MailAddress(From);
            Recipients.Split(new char[] { ',' })
            .Where(x => !string.IsNullOrEmpty(x))
            .ToList()
            .ForEach(x => message.To.Add(x));
            (CcRecipients ?? "").Split(new char[] { ',' })
            .Where(x => !string.IsNullOrEmpty(x))
            .ToList()
            .ForEach(x => message.To.Add(x));
            message.Subject    = FormatString(FormattedSubject, error);
            message.Body       = stringBuilder.ToString();
            message.IsBodyHtml = true;
            var client = new SmtpClient();

            client.EnableSsl = IsTlsEnabled;
            client.Send(message);
        }