public ViewResult SMTPSettings()
        {
            SiteSMTP _SMTP = _service.Find(sm => sm.SiteID == Site.ID).EagerLoad(sm => sm.AuditDetails).FirstOrDefault();

            if (_SMTP == null)
            {
                _SMTP = new SiteSMTP()
                {
                    SiteID = Site.ID
                };
            }

            return(View(_SMTP));
        }
        public ActionResult SendEmail()
        {
            SiteSMTP smtpSettings = _service.Find(ss => ss.SiteID == Site.ID).FirstOrDefault();
            string   returnMSG    = string.Empty;

            using (System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient())
            {
                smtpClient.EnableSsl             = smtpSettings.UseSSL;
                smtpClient.UseDefaultCredentials = (!string.IsNullOrEmpty(smtpSettings.SMTPUser) && !string.IsNullOrEmpty(smtpSettings.SMTPPassword));
                if (smtpClient.UseDefaultCredentials && !String.IsNullOrWhiteSpace(smtpSettings.SMTPUser))
                {
                    smtpClient.Credentials = new System.Net.NetworkCredential(smtpSettings.SMTPUser, smtpSettings.SMTPPassword);
                }
                System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(CurrentUser.Email, CurrentUser.Email);

                string strAlias = (!string.IsNullOrEmpty(Site.Alias) ? Site.Alias : Site.CName);
                message.Subject = "Welcome to " + strAlias;

                StringBuilder sbHTML = new StringBuilder(WBHelper.GetTemplateText(Server.MapPath("/content/Templates/SMTPCheckMail.htm")));
                sbHTML.Replace("[SITEALIAS]", strAlias);
                sbHTML.Replace("[EMAIL]", CurrentUser.Email);
                message.Body = sbHTML.ToString();

                if (smtpSettings.SMTPHost != null)
                {
                    smtpClient.Host = smtpSettings.SMTPHost;
                }

                smtpClient.Port = smtpSettings.SMTPPort;

                smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;


                message.IsBodyHtml = true;

                try
                {
                    smtpClient.Send(message);
                    returnMSG = "Email Send Successfully.";
                }
                catch (Exception e)
                {
                    returnMSG = e.Message;
                }
            }
            return(Json(returnMSG));
        }
        public ActionResult SMTPSettings(SiteSMTP model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (model.ID > 0)
                    {
                        model.AuditDetails.DateModified   = DateTimeWithZone.Now;
                        model.AuditDetails.ByUserID       = CurrentUser.ID;
                        model.AuditDetails.HttpHeaderDump = Request.Headers.ToString();
                        model.AuditDetails.IP             = Request.UserHostAddress;


                        _service.Update(model);
                    }
                    else
                    {
                        model.AuditDetails = new Audit()
                        {
                            ByUserID = CurrentUser.ID, DateCreated = DateTimeWithZone.Now, DateModified = DateTimeWithZone.Now, HttpHeaderDump = Request.Headers.ToString(), IP = Request.UserHostAddress, ID = 0
                        };
                        _service.Add(model);
                    }
                    _unitOfWork.Commit();
                    WBSSLStore.Web.Helpers.Caching.SiteCacher.ClearCache(Site.ID);
                    ViewBag.Message = "<div class='normsg'>" + @WBSSLStore.Resources.GeneralMessage.Message.GeneralSettings_SuccessMsg + "</div>";
                }
            }
            catch (Exception ex)
            {
                _logger.LogException(ex);
                ViewBag.Message = "<div class='errormsg'>" + @WBSSLStore.Resources.GeneralMessage.Message.ErrorMsg + "</div>";
            }
            return(View(model));
        }