Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        /// <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);
            }

        }