/// <summary> /// Helper Method to Send Failed Sites email notifcation. /// </summary> /// <param name="message"></param> public static void SendFailEmail(FailureEmailMessage message) { try { EmailConfig _emailConfig = new EmailConfig(); using (SmtpClient client = new SmtpClient()) { using (MailMessage emailMessage = new MailMessage()) { emailMessage.Subject = message.Subject; foreach (string to in message.To) { emailMessage.To.Add(to); } foreach (string cc in message.Cc) { emailMessage.CC.Add(cc); } AlternateView htmlView = AlternateView.CreateAlternateViewFromString(_emailConfig.GetFailureEmailTemplateContent(message), null, "text/html"); emailMessage.AlternateViews.Add(htmlView); client.Send(emailMessage); } } } catch (Exception ex) { Log.Fatal("Provisioning.Common.Mail.EmailHelper.SendFailEmail", "There was an error sending email. The exception is {0}", ex); } }
/// <summary> /// Helper Method to Send Failed Sites email notifcation. /// </summary> /// <param name="message"></param> public static void SendFailEmail(FailureEmailMessage message) { try { EmailConfig _emailConfig = new EmailConfig(); using (SmtpClient client = new SmtpClient()) { using (MailMessage emailMessage = new MailMessage()) { emailMessage.Subject = message.Subject; foreach (string to in message.To) { emailMessage.To.Add(to); } foreach (string cc in message.Cc) { emailMessage.CC.Add(cc); } AlternateView htmlView = AlternateView.CreateAlternateViewFromString(_emailConfig.GetFailureEmailTemplateContent(message), null, "text/html"); emailMessage.AlternateViews.Add(htmlView); client.Send(emailMessage); } } } catch (Exception ex) { Log.Fatal("Provisioning.Common.Mail.EmailHelper.SendFailEmail", "There was an error sending email. The exception is {0}", ex); } }
public string GetFailureEmailTemplateContent(FailureEmailMessage message) { string template = this.FailureEmailTemplate; template = template.Replace(TOKEN_SITEURL, message.SiteUrl); template = template.Replace(TOKEN_SITEOWNER, message.SiteOwner); template = template.Replace(TOKEN_SITEADMIN, message.SiteAdmin); template = template.Replace(TOKEN_ERROR_MESSAGE, message.ErrorMessage); return template; }
public string GetFailureEmailTemplateContent(FailureEmailMessage message) { string template = this.FailureEmailTemplate; template = template.Replace(TOKEN_SITEURL, message.SiteUrl); template = template.Replace(TOKEN_SITEOWNER, message.SiteOwner); template = template.Replace(TOKEN_SITEADMIN, message.SiteAdmin); template = template.Replace(TOKEN_ERROR_MESSAGE, message.ErrorMessage); return(template); }
/// <summary> /// Sends an Failure Email Notification /// </summary> /// <param name="info"></param> /// <param name="errorMessage"></param> protected void SendFailureEmail(SiteInformation info, string errorMessage, bool sendToAdmin) { try { StringBuilder _admins = new StringBuilder(); FailureEmailMessage _message = new FailureEmailMessage(); _message.SiteUrl = info.Url; _message.SiteOwner = info.SiteOwner.Name; _message.Subject = "Alert: Your new SharePoint site request had a problem."; _message.ErrorMessage = errorMessage; if (sendToAdmin) { _message.To.Add(info.SiteOwner.Name); } if (!string.IsNullOrEmpty(this._settings.SupportEmailNotification)) { string[] supportAdmins = this._settings.SupportEmailNotification.Split(';'); foreach (var supportAdmin in supportAdmins) { _message.To.Add(supportAdmin); } } foreach (var admin in info.AdditionalAdministrators) { if (sendToAdmin) { _message.Cc.Add(admin.Name); } _admins.Append(admin.Name); _admins.Append(" "); } _message.SiteAdmin = _admins.ToString(); EmailHelper.SendFailEmail(_message); } catch (Exception ex) { Log.Error("Provisioning.Job.SiteProvisioningJob.SendSuccessEmail", "There was an error sending email. The Error Message: {0}, Exception: {1}", ex.Message, ex); } }