public static void SendEmail(string body, string userEmail)
 {
     try
     {
         var message     = new MailMessage();
         var fromAddress = new MailAddress(userEmail, userEmail);
         message.From = fromAddress;
         var feedbackRecipients = ConfigurationsUtil.GetRecipients();
         if (feedbackRecipients != null)
         {
             var arrayFeedbackRecipients = feedbackRecipients.Split(',');
             foreach (var recipient in arrayFeedbackRecipients)
             {
                 var toAddress = new MailAddress(recipient, recipient);
                 message.To.Add(toAddress);
             }
         }
         message.Subject         = ConfigurationsUtil.GetSubject();
         message.SubjectEncoding = Encoding.UTF8;
         message.IsBodyHtml      = true;
         message.BodyEncoding    = Encoding.UTF8;
         message.Body            = body;
         MainUtil.SendMail(message);
     }
     catch (Exception ex)
     {
         Log.Error("Send FeedBack Email Message: ", ex, null);
     }
 }
Exemple #2
0
        private string FillEmailTempalte()
        {
            var screenHeight = string.Empty;
            var screenWidth  = string.Empty;

            if (Request.Cookies["screen_width"] != null)
            {
                screenWidth = Request.Cookies["screen_width"].Value;
            }
            if (Request.Cookies["screen_height"] != null)
            {
                screenHeight = Request.Cookies["screen_height"].Value;
            }

            var browserName    = string.Empty;
            var browserVersion = string.Empty;

            if (Request.Cookies["browser_name"] != null)
            {
                browserName = HttpUtility.UrlDecode(Request.Cookies["browser_name"].Value);
            }
            if (Request.Cookies["browser_version"] != null)
            {
                browserVersion = Request.Cookies["browser_version"].Value;
            }

            var srHtmlTemplate      = new StreamReader(Server.MapPath(Constants.EmailTemplate));
            var htmlTemplate        = srHtmlTemplate.ReadToEnd();
            var computerInfo        = new ComputerInfo();
            var browser             = Request.Browser;
            var feedbackProjectName = ConfigurationsUtil.GetProjectName();

            var emailModel = new EmailModel
            {
                ProjectName        = feedbackProjectName,
                UserOs             = computerInfo.OSFullName,
                ScreenHeight       = screenHeight.ToString(CultureInfo.InvariantCulture),
                ScreenWidth        = screenWidth.ToString(CultureInfo.InvariantCulture),
                Email              = tbEmail.Text,
                Comment            = tbComment.Text,
                Browser            = browserName,
                BrowserVersion     = browserVersion,
                ErrorLogRequestUrl = Session["ErrorLog_RequestURL"].ToString(),
                ErrorLogMessage    = Session["ErrorLog_Message"].ToString(),
                ErrorLogSource     = Session["ErrorLog_Source"].ToString(),
                ErrorLogStackTrace = Session["ErrorLog_StackTrace"].ToString(),
                LastVisitPagesList = GetLastVisits()
            };

            var dicEmailModel = typeof(EmailModel).GetProperties(BindingFlags.Public | BindingFlags.Instance)
                                .ToDictionary(p => p.Name, p => (p.GetValue(emailModel, null) ?? string.Empty).ToString());

            foreach (var key in dicEmailModel.Keys)
            {
                htmlTemplate = htmlTemplate.Replace(String.Format("#{0}#", key), dicEmailModel[key]);
            }
            return(htmlTemplate);
        }
Exemple #3
0
        private string FillEmailTempalte()
        {
            var screenHeight = string.Empty;
            var screenWidth  = string.Empty;

            if (Request.Cookies["screen_width"] != null)
            {
                screenWidth = Request.Cookies["screen_width"].Value;
            }
            if (Request.Cookies["screen_height"] != null)
            {
                screenHeight = Request.Cookies["screen_height"].Value;
            }

            var browserName    = string.Empty;
            var browserVersion = string.Empty;

            if (Request.Cookies["browser_name"] != null)
            {
                browserName = HttpUtility.UrlDecode(Request.Cookies["browser_name"].Value);
            }
            if (Request.Cookies["browser_version"] != null)
            {
                browserVersion = Request.Cookies["browser_version"].Value;
            }

            var srHtmlTemplate      = new StreamReader(Server.MapPath(Constants.EmailTemplate));
            var htmlTemplate        = srHtmlTemplate.ReadToEnd();
            var computerInfo        = new ComputerInfo();
            var feedbackProjectName = ConfigurationsUtil.GetProjectName();
            var assembly            = AppDomain.CurrentDomain.GetAssemblies().SingleOrDefault(a => a.FullName.Split(',')[0] == "Jetstream.Website");
            var aboutVersionProject = string.Empty;

            if (assembly != null)
            {
                var fileVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
                var version     = assembly.GetName().Version;
                aboutVersionProject = "{0} {1}.{2}.{3} (rev.{4})".FormatWith(
                    fileVersion.ProductName, version.Major, version.Minor, version.Build,
                    fileVersion.FileVersion.Replace(".", string.Empty));
            }
            var emailModel = new EmailModel
            {
                ProjectName        = feedbackProjectName,
                UserOs             = computerInfo.OSFullName,
                ScreenHeight       = screenHeight.ToString(CultureInfo.InvariantCulture),
                ScreenWidth        = screenWidth.ToString(CultureInfo.InvariantCulture),
                Email              = tbEmail.Text,
                Comment            = tbComment.Text,
                Browser            = browserName,
                BrowserVersion     = browserVersion,
                ErrorLogRequestUrl = Session["ErrorLog_RequestURL"].ToString(),
                ErrorLogMessage    = Session["ErrorLog_Message"].ToString(),
                ErrorLogSource     = Session["ErrorLog_Source"].ToString(),
                ErrorLogStackTrace = Session["ErrorLog_StackTrace"].ToString(),
                LastVisitPagesList = GetLastVisits(),
                ProjectVersion     = aboutVersionProject,
                SitecoreVersion    = Sitecore.Configuration.About.VersionInformation()
            };

            var dicEmailModel = typeof(EmailModel).GetProperties(BindingFlags.Public | BindingFlags.Instance)
                                .ToDictionary(p => p.Name, p => (p.GetValue(emailModel, null) ?? string.Empty).ToString());

            foreach (var key in dicEmailModel.Keys)
            {
                htmlTemplate = htmlTemplate.Replace(String.Format("#{0}#", key), dicEmailModel[key]);
            }
            return(htmlTemplate);
        }