public IHttpActionResult PutMailMessageTemplate(string key, MailMessageTemplate mailMessageTemplate)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (key != mailMessageTemplate.Key)
            {
                return BadRequest();
            }

            db.Entry(mailMessageTemplate).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MailMessageTemplateExists(key))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
Пример #2
0
 /// <summary>
 /// 新用户申请通知
 /// </summary>
 public static void SendMailOfHandle(Account account, string modelName)
 {
     try
     {
         MailHelper          mailHelper = GetMailHelper();
         MailMessageTemplate mt         = new MailMessageTemplate("UserEmailConfig.xml", "新用户申请通知");
         string subject = mt.Subject.Replace("${LoginName}", account.LoginName);
         subject = subject.Replace("${ContentModelName}", modelName);
         string      message = mt.Body.Replace("${LoginName}", account.LoginName);
         HttpContext context = HttpContext.Current;
         string      url     = "http://" + context.Request.Url.Host;
         if (context.Request.Url.Port != 80)
         {
             url += ":" + context.Request.Url.Port.ToString();
         }
         message = message.Replace("${HandleUrl}", String.Format("{0}", url + "/admin/Permissions/AccountEdit.aspx?id=" + account.ID));
         message = We7Helper.ConvertTextToHtml(message);
         mailHelper.Send(GeneralConfigs.GetConfig().NotifyMail, mailHelper.AdminEmail, subject, message, "Low");
     }
     catch (Exception ex)
     {
         We7.Framework.LogHelper.WriteLog(typeof(AccountMails), ex);
         throw ex;
     }
 }
Пример #3
0
 /// <summary>
 /// 注册验证通知
 /// </summary>
 /// <param name="accountId"></param>
 /// <param name="type"></param>
 public static bool SendMailOfValidate(Account account, string strFEID)
 {
     try
     {
         MailHelper          mailHelper = GetMailHelper();
         MailMessageTemplate mt         = new MailMessageTemplate("UserEmailConfig.xml", "注册验证通知");
         string      subject            = mt.Subject.Replace("${LoginName}", account.LoginName);
         string      message            = mt.Body.Replace("${LoginName}", account.LoginName);
         HttpContext context            = HttpContext.Current;
         string      url = "http://" + context.Request.Url.Host;
         if (context.Request.Url.Port != 80)
         {
             url += ":" + context.Request.Url.Port.ToString();
         }
         url    += "/User/Validate.aspx?" + strFEID + "=" + account.ID + "&returnUrl=/register.aspx";
         message = message.Replace("${ValidateUrl}", string.Format("{0}", "<a href='" + url + "' target='_blank'>" + url + "</a>"));
         //message = We7Helper.ConvertTextToHtml(message);
         mailHelper.Send(account.Email, mailHelper.AdminEmail, subject, message, "Low");
         return(true);
     }
     catch (Exception ex)
     {
         We7.Framework.LogHelper.WriteLog(typeof(AccountMails), ex);
         throw ex;
     }
 }
Пример #4
0
        /// <summary>
        /// 发送更改验证通知
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="type"></param>
        public bool SendMailOfRetrieveTradePWD(string loginName)
        {
            try
            {
                MailHelper mailHelper = GetMailHelper();
                if (mailHelper.AdminEmail.Length == 0)
                {
                    lblMsg.Text = "<font color='red'>管理员邮箱未设置,请与管理员联系!</font>";
                    return(false);
                }
                Account             account = AccountHelper.GetAccountByLoginName(loginName);
                MailMessageTemplate mt      = new MailMessageTemplate("UserEmailConfig.xml", "密码找回通知");
                string      subject         = mt.Subject.Replace("${LoginName}", account.LoginName);
                string      message         = mt.Body.Replace("${LoginName}", account.LoginName);
                HttpContext context         = HttpContext.Current;

                string url = context.Request.Url.Scheme + "://" + context.Request.Url.Host + ":" + context.Request.Url.Port + "/retrievepassword.aspx?field=" + account.ID + "&validate=" + EncryptString.Encrypt(account.Password);
                message = message.Replace("${ValidateUrl}", string.Format("{0}", "<a href='" + url + "' target='_blank'>" + url + "</a>"));
                mailHelper.Send(account.Email, mailHelper.AdminEmail, subject, message, "Low");
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void SendMessage(MailMessageTemplate argTemplate, Issue argIssue)
        {
            int    intStart  = 0;
            int    intEnd    = 0;
            string strField  = "";
            string strValue  = "";
            string strSource = "";

            Type      objType;
            FieldInfo field;

            try
            {
                //fill the message template
                strSource = argTemplate.Body;

                while (intStart >= 0)
                {
                    //find the start
                    intStart = strSource.IndexOf("<Issue.", intStart) + 7;

                    //find the end
                    intEnd = strSource.IndexOf(">", intStart);

                    //get the field name
                    strField = strSource.Substring(intStart, intEnd - intStart);

                    objType = argIssue.GetType();
                    field   = objType.GetField(strField);

                    strValue = field.GetValue(objType).ToString();

                    strSource = strSource.Replace("<Issue." + strField + ">", strValue);
                }
                ;

                //set the outgoing message
                MailMessage _OutgoingMessage = new MailMessage();
                _OutgoingMessage.To      = _UserTo.EmailAddress;
                _OutgoingMessage.Cc      = _UserCc.EmailAddress;
                _OutgoingMessage.Bcc     = _UserBcc.EmailAddress;
                _OutgoingMessage.From    = _UserFrom.EmailAddress;
                _OutgoingMessage.Subject = argTemplate.Subject;
                _OutgoingMessage.Body    = strSource;

                //send the messsage
                SmtpMail.SmtpServer = "localhost";
                SmtpMail.Send(_OutgoingMessage);
            }
            catch (Exception x)
            {
                LogEvent(x.Message);
            }

            return;
        }
        public MailMessageTemplate Post(MailMessageTemplate reqTemplate)
        {
            MailMessageTemplate template = _db.MailMessageTemplates.Find(reqTemplate.Key);
            if (template == null) {
                _db.MailMessageTemplates.Add(reqTemplate);
            } else {
                template.Html = reqTemplate.Html;
                template.Metadata = reqTemplate.Metadata;
                template.Name = reqTemplate.Name;
                template.Template = reqTemplate.Template;
            }


            _db.SaveChanges();
            return reqTemplate;
        }
Пример #7
0
 /// <summary>
 /// 用户付款成功通知
 /// </summary>
 public static void SendMailOfSuccessPay(Account account, string productName, decimal payMoney)
 {
     try
     {
         MailHelper          mailHelper = GetMailHelper();
         MailMessageTemplate mt         = new MailMessageTemplate("UserEmailConfig.xml", "付款成功通知");
         string subject = mt.Subject.Replace("${ProductName}", "[" + productName + "]");
         string message = mt.Body.Replace("${LoginName}", account.LoginName).Replace("${ProductName}", "[" + productName + "]");
         message = message.Replace("${PayMoney}", string.Format("{0:C2}", payMoney));
         message = We7Helper.ConvertTextToHtml(message);
         mailHelper.Send(account.Email, mailHelper.AdminEmail, subject, message, "Low");
     }
     catch (Exception ex)
     {
         We7.Framework.LogHelper.WriteLog(typeof(AccountMails), ex);
         throw ex;
     }
 }
        public IHttpActionResult PostMailMessageTemplate(MailMessageTemplate mailMessageTemplate)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var currentMessage = db.MailMessageTemplates.FirstOrDefault(_m => _m.Key == mailMessageTemplate.Key);
            if (currentMessage != null)
            {
                currentMessage.Html = mailMessageTemplate.Html;
                currentMessage.Metadata = mailMessageTemplate.Metadata;
                currentMessage.Name = mailMessageTemplate.Name;
                currentMessage.Template = mailMessageTemplate.Template;
            }
            else
            {
                db.MailMessageTemplates.Add(mailMessageTemplate);
            }
            

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (MailMessageTemplateExists(mailMessageTemplate.Key))
                {
                    return Conflict();
                }
                else
                {
                    throw;
                }
            }

            return CreatedAtRoute("DefaultApi", new { id = mailMessageTemplate.Key }, mailMessageTemplate);
        }
Пример #9
0
 /// <summary>
 /// 账号审核通过通知
 /// </summary>
 /// <param name="accountId"></param>
 /// <param name="modelName"></param>
 /// <param name="message"></param>
 public static void SendMailOfPassNotify(Account account, string modelName, string message)
 {
     try
     {
         MailHelper          mailHelper = GetMailHelper();
         MailMessageTemplate mt         = new MailMessageTemplate("UserEmailConfig.xml", "账号审核通过通知");
         string subject = mt.Subject.Replace("${ContentModelName}", modelName);
         if (string.IsNullOrEmpty(message))
         {
             message = mt.Body;
         }
         message = message.Replace("${LoginName}", account.LoginName);
         message = message.Replace("${ContentModelName}", modelName);
         message = We7Helper.ConvertTextToHtml(message);
         mailHelper.Send(account.Email, mailHelper.AdminEmail, subject, message, "Low");
     }
     catch (Exception ex)
     {
         We7.Framework.LogHelper.WriteLog(typeof(AccountMails), ex);
         throw ex;
     }
 }
Пример #10
0
        /// <summary>
        /// 新注册用户通知本人
        /// </summary>
        /// <param name="accountId"></param>
        /// <param name="password"></param>
        /// <param name="message"></param>
        public static void SendMailOfRegister(Account account, string password, string message)
        {
            try
            {
                MailHelper mailHelper = GetMailHelper();
                if (String.IsNullOrEmpty(mailHelper.AdminEmail))
                {
                    throw new Exception("邮件发送失败");
                }
                MailMessageTemplate mt = new MailMessageTemplate("UserEmailConfig.xml", "新建用户通知");
                if (String.IsNullOrEmpty(mt.Body))
                {
                    mt.Body = String.Empty;
                }
                if (String.IsNullOrEmpty(mt.Subject))
                {
                    mt.Subject = String.Empty;
                }
                string subject = mt.Subject.Replace("${LoginName}", account.LoginName);
                if (string.IsNullOrEmpty(message))
                {
                    message = mt.Body.Replace("${LoginName}", account.LoginName);
                }
                else
                {
                    message = message.Replace("${LoginName}", account.LoginName);
                }

                message = message.Replace("${Password}", password);
                message = We7Helper.ConvertTextToHtml(message);
                mailHelper.Send(account.Email, mailHelper.AdminEmail, subject, message, "Low");
            }
            catch (Exception ex)
            {
                We7.Framework.LogHelper.WriteLog(typeof(AccountMails), ex);
                throw ex;
            }
        }
Пример #11
0
        protected void Initialize()
        {
            ResetPasswordCheckBox.Checked = false;
            ResetPasswordSpan.Visible     = false;
            if (We7Helper.IsEmptyID(Security.CurrentAccountID))
            {
                UserTypeDropDownList.Items.Add(new ListItem("管理员", "0"));
            }
            UserTypeDropDownList.Items.Add(new ListItem("普通用户", "1"));

            if (We7Helper.IsEmptyID(CurrentAccountID))//新建
            {
                PassWordText.Visible = true;
                We7Helper.AssertNotNull(DepartmentID, "AccountDetail.p");
                if (!We7Helper.IsEmptyID(DepartmentID))
                {
                    Department dpt = AccountHelper.GetDepartment(DepartmentID, new string[] { "FullName" });
                    FullPathLabel.Text = dpt.FullName;
                    ParentTextBox.Text = DepartmentID;
                }
                else
                {
                    ParentTextBox.Text = We7Helper.EmptyGUID;
                }
                MailMessageTemplate mt = new MailMessageTemplate("UserEmailConfig.xml", "新建用户通知");
                MailBodyTextBox.Text = mt.Body;
                SaveButton.Value     = "创建账户";
                DeleteButtun.Visible = false;
            }
            else
            {
                ShowAccount(AccountHelper.GetAccount(CurrentAccountID, null));
                ResetPasswordSpan.Visible = true;
                MailMessageTemplate mt = new MailMessageTemplate("UserEmailConfig.xml", "账号审核通过通知");
                MailBodyTextBox.Text = mt.Body;
            }
        }