Beispiel #1
0
        /// <summary>
        /// 咨询回复发送邮件
        /// </summary>
        /// <param name="info"></param>
        public static void SendMailConsultReply(ProductConsultReplyInfo info, int productSysNo, string productName)
        {
            AsyncEmail email = new AsyncEmail();

            email.MailAddress = info.CustomerInfo.Email;
            email.CustomerID  = info.CustomerInfo.CustomerID;
            email.Status      = (int)EmailStatus.NotSend;
            email.ImgBaseUrl  = ConfigurationManager.AppSettings["CDNWebDomain"].ToString();

            string subject = string.Empty;

            email.MailBody = MailHelper.GetMailTemplateBody("ConsultReply", out subject);
            string productdetail = ConstValue.WebDomain + "/Product/Detail/" + productSysNo.ToString();

            ConsultationInfo consultInfo = ConsultationDA.GetProductConsult(info.ConsultSysNo);

            email.MailSubject = subject;
            email.MailBody    = email.MailBody.Replace("[ProducDetail]", productdetail)
                                .Replace("[ProductName]", productName)
                                .Replace("[ImgBaseUrl]", email.ImgBaseUrl)
                                .Replace("[WebBaseUrl]", ConstValue.WebDomain)
                                .Replace("[CurrentDateTime]", DateTime.Now.ToString("yyyy-MM-dd"))
                                .Replace("[Content]", StringUtility.RemoveHtmlTag(consultInfo.Content))
                                .Replace("[ReplyContent]", StringUtility.RemoveHtmlTag(info.Content));

            EmailDA.SendEmail(email);
        }
Beispiel #2
0
        /// <summary>
        /// 新增用户
        /// </summary>
        /// <param name="customer">用户的注册信息</param>
        /// <returns>用户信息</returns>
        public static CustomerInfo CreateCustomer(CustomerInfo customer)
        {
            try
            {
                CustomerInfo item = CustomerDA.CreateCustomer(customer);
                if (item.SysNo > 0)
                {
                    if (!string.IsNullOrEmpty(customer.Email))
                    {
                        AsyncEmail email       = new AsyncEmail();
                        string     mailSubject = string.Empty;

                        email.MailAddress = customer.Email;
                        email.CustomerID  = item.CustomerID;
                        email.ImgBaseUrl  = ConstValue.CDNWebDomain;
                        email.Status      = (int)EmailStatus.NotSend;
                        email.MailBody    = MailHelper.GetMailTemplateBody("RegisterSuccess", out mailSubject);
                        email.MailSubject = mailSubject.Replace("[CustomerID]", item.CustomerID);
                        email.MailBody    = email.MailBody.Replace("[CustomerID]", item.CustomerID).Replace("[ImgBaseUrl]", email.ImgBaseUrl)
                                            .Replace("[WebBaseUrl]", ConstValue.WebDomain).Replace("[CurrentDateTime]", DateTime.Now.ToString("yyyy-MM-dd")).Replace("[Year]", DateTime.Now.Year.ToString());

                        EmailDA.SendEmail(email);
                    }
                }

                return(item);
            }
            catch (Exception ex)
            {
                ECommerce.Utility.Logger.WriteLog(string.Format("用户注册异常,异常信息:{0}!", ex.ToString()), "RegisteCustomer", "RegisteCustomerFailure");
                return(customer);
            }
        }
Beispiel #3
0
        public static bool SendEmail(AsyncEmail item)
        {
            item.Priority = item.Priority ?? 0;
            DataCommand cmd = DataCommandManager.GetDataCommand("Common_SendEmail");

            cmd.SetParameterValue <AsyncEmail>(item);
            return(cmd.ExecuteNonQuery() > 0 ? true : false);
        }
Beispiel #4
0
        /// <summary>
        /// 创建找回密码的url并写入数据库
        /// </summary>
        /// <param name="customerID"></param>
        /// <param name="ImgBaseUrl"></param>
        /// <returns></returns>
        public static bool SendFindPasswordMail(string customerID, string ImgBaseUrl, string doamin)
        {
            CustomerInfo customer = CustomerDA.GetCustomerByID(customerID);
            AsyncEmail   email    = new AsyncEmail();

            email.MailAddress = customer.Email;
            email.CustomerID  = customerID;

            email.ImgBaseUrl = ImgBaseUrl;
            //email.CustomerSysNo = customer.SysNo;
            //email.MailType = (int)EmailType.FindPassword;
            email.Status = (int)EmailStatus.NotSend;
            bool   createToken = false;
            string token       = string.Empty;

            while (!createToken)
            {
                token = Guid.NewGuid().ToString("N");
                if (CustomerDA.CreatePasswordToken(customer.SysNo, token, "E"))
                {
                    email.SetNewTokenUrl  = "/FindPassword?token=" + token + "&CustomerID=" + customerID;
                    email.CurrentDateTime = DateTime.Now.ToString("yyyy-MM-dd");
                    email.Year            = DateTime.Now.Year.ToString();
                    createToken           = true;
                }
                else
                {
                    var customerPassToken = CustomerDA.GetCustomerPasswordToken(customer.SysNo, "E");
                    token = customerPassToken.Token;
                    email.SetNewTokenUrl  = "/FindPassword?token=" + token + "&CustomerID=" + customerID;
                    email.CurrentDateTime = DateTime.Now.ToString("yyyy-MM-dd");
                    email.Year            = DateTime.Now.Year.ToString();
                    createToken           = true;
                }
            }

            string secureWebBaseUrl = ConstValue.WebDomain;

            if (ConstValue.HaveSSLWebsite && !string.IsNullOrEmpty(ConstValue.SSLWebsiteHost))
            {
                secureWebBaseUrl = ConstValue.SSLWebsiteHost;
            }

            string sub = string.Empty;

            email.MailBody = MailHelper.GetMailTemplateBody("findpassword", out sub);
            email.MailBody = email.MailBody
                             .Replace("[CustomerID]", customerID)
                             .Replace("[ImgBaseUrl]", ImgBaseUrl)
                             .Replace("[WebBaseUrl]", ConstValue.WebDomain)
                             .Replace("[SetNewTokenUrl]", secureWebBaseUrl + email.SetNewTokenUrl)
                             .Replace("[CurrentDateTime]", DateTime.Now.ToString("yyyy-MM-dd"))
                             .Replace("[Year]", DateTime.Now.Year.ToString());
            email.MailSubject = sub;
            return(EmailDA.SendEmail(email));
        }
Beispiel #5
0
        public static bool SendEmail(string subject, string content, string to, string from)
        {
            AsyncEmail email = new AsyncEmail();

            email.MailAddress = to;
            email.MailFrom    = from;
            email.Status      = (int)EmailStatus.NotSend;
            email.MailBody    = content;
            email.MailSubject = subject;
            return(EmailDA.SendEmail(email));
        }
Beispiel #6
0
        /// <summary>
        /// 发送邮件,写到数据库
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static bool SendEmail(AsyncEmail item)
        {
            item.Priority         = item.Priority ?? 0;
            item.LanguageCode     = ConstValue.LanguageCode;
            item.CompanyCode      = ConstValue.CompanyCode;
            item.StoreCompanyCode = ConstValue.StoreCompanyCode;
            DataCommand cmd = DataCommandManager.GetDataCommand("Email_SendEmail");

            cmd.SetParameterValue <AsyncEmail>(item);
            return(cmd.ExecuteNonQuery() > 0 ? true : false);
        }
Beispiel #7
0
        /// <summary>
        /// 评论回复发邮件
        /// </summary>
        public static void SendMailReviewReply(Product_ReplyDetail replyInfo, int sosysno)
        {
            AsyncEmail email = new AsyncEmail();

            email.MailAddress = replyInfo.Customer.Email;
            email.CustomerID  = replyInfo.Customer.CustomerID;
            email.Status      = (int)EmailStatus.NotSend;
            email.ImgBaseUrl  = ConfigurationManager.AppSettings["CDNWebDomain"].ToString();
            string subject = string.Empty;

            email.MailBody    = MailHelper.GetMailTemplateBody("ReviewReply", out subject);
            email.MailSubject = subject;
            email.MailBody    = email.MailBody.Replace("[SOSysNo]", sosysno.ToString())
                                .Replace("[ImgBaseUrl]", email.ImgBaseUrl)
                                .Replace("[WebBaseUrl]", ConstValue.WebDomain)
                                .Replace("[CurrentDateTime]", DateTime.Now.ToString("yyyy-MM-dd"))
                                .Replace("[ReplyContent]", StringUtility.RemoveHtmlTag(replyInfo.Content));


            EmailDA.SendEmail(email);
        }
Beispiel #8
0
        /// <summary>
        /// 创建验证邮箱地址的邮件
        /// </summary>
        /// <param name="customerID"></param>
        /// <param name="ImgBaseUrl"></param>
        /// <returns></returns>
        public static bool SendEmailValidatorMail(string customerID, string newEmail, string ImgBaseUrl, string doamin)
        {
            CustomerInfo customer = CustomerDA.GetCustomerByID(customerID);
            AsyncEmail   email    = new AsyncEmail();

            email.MailAddress = newEmail;
            email.CustomerID  = customerID;

            email.ImgBaseUrl = ImgBaseUrl;
            email.Status     = (int)EmailStatus.NotSend;
            string token = Guid.NewGuid().ToString("N");

            email.SetNewTokenUrl = "/EmailVerifySucceed?token=" + token + "&sysno=" + customer.SysNo.ToString() + "&email=" + System.Web.HttpUtility.HtmlEncode(newEmail);
            string sub = string.Empty;

            email.MailBody = MailHelper.GetMailTemplateBody("ValidateEmail", out sub);
            email.MailBody = email.MailBody.Replace("[CustomerID]", customerID).Replace("[ImgBaseUrl]", ImgBaseUrl)
                             .Replace("[WebBaseUrl]", ConstValue.WebDomain).Replace("[url]", doamin + email.SetNewTokenUrl).Replace("[CurrentDateTime]", DateTime.Now.ToString("yyyy-MM-dd")).Replace("[Year]", DateTime.Now.Year.ToString());
            email.MailSubject = sub;
            return(EmailDA.SendEmail(email));
        }
Beispiel #9
0
 public static bool SendEmail(AsyncEmail email)
 {
     return(CommonDA.SendEmail(email));
 }
        public static void SalesOrderMailSuccessful(OrderInfo order)
        {
            foreach (var subOrder in order.SubOrderList.Values)
            {
                if (subOrder.SOType == (int)SOType.VirualGroupBuy)
                {
                    continue;
                }
                ECommerce.Entity.Member.CustomerInfo customer = CustomerDA.GetCustomerByID(subOrder.Customer.ID);

                if (string.IsNullOrEmpty(customer.Email))
                {
                    return;
                }

                AsyncEmail email = new AsyncEmail();
                email.MailAddress = customer.Email;
                email.CustomerID  = customer.CustomerID;
                email.Status      = (int)EmailStatus.NotSend;
                string token = Guid.NewGuid().ToString("N");
                email.ImgBaseUrl     = ConfigurationManager.AppSettings["CDNWebDomain"].ToString();
                email.SetNewTokenUrl = "/EmailVerifySucceed?token=" + token + "&sysno=" + customer.SysNo.ToString() + "&email=" + System.Web.HttpUtility.HtmlEncode(customer.Email);

                string subject = string.Empty;
                email.MailBody    = MailHelper.GetMailTemplateBody("SalesOrderMailSuccessful", out subject);
                email.MailSubject = subject.Replace("[SOSysNo]", subOrder.ID.ToString());

                //订单内容
                email.MailBody = email.MailBody.Replace("[SOSysNo]", subOrder.ID.ToString());
                email.MailBody = email.MailBody.Replace("[OrderTime]", subOrder.InDate.ToString("yyyy年MM月dd日 HH时mm分"));

                email.MailBody = email.MailBody.Replace("[CustomerID]", subOrder.Customer.ID);
                email.MailBody = email.MailBody.Replace("[CustomerName]", subOrder.Customer.Name);
                email.MailBody = email.MailBody.Replace("[ContactName]", subOrder.Contact.Name);
                email.MailBody = email.MailBody.Replace("[ContactMobilePhone]", subOrder.Contact.MobilePhone);
                email.MailBody = email.MailBody.Replace("[ContactPhone]", subOrder.Contact.Phone);

                var    area    = CommonFacade.GetArea(subOrder.Contact.AddressAreaID);
                string address = string.Format("{0} {1} {2} {3}", area.ProvinceName, area.CityName, area.DistrictName, subOrder.Contact.AddressDetail);
                email.MailBody = email.MailBody.Replace("[ContactAddress]", address);
                email.MailBody = email.MailBody.Replace("[ContactZipCode]", subOrder.Contact.ZipCode);

                email.MailBody = email.MailBody.Replace("[ShipTypeName]", (string)subOrder["ShipTypeName"]);
                email.MailBody = email.MailBody.Replace("[PayTypeName]", subOrder.PayTypeName);
                email.MailBody = email.MailBody.Replace("[CashPayAmountWithTax]", (subOrder.CashPayAmount + subOrder.TaxAmount).ToString("F2"));
                email.MailBody = email.MailBody.Replace("[TotalWeight]", (((decimal)subOrder.TotalWeight) / 1000).ToString("F3"));
                email.MailBody = email.MailBody.Replace("[ShippingAmount]", subOrder.ShippingAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[TaxAmount]", subOrder.TaxAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[CouponAmount]", subOrder.CouponAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[GiftCardPayAmount]", subOrder.GiftCardPayAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[BalancePayAmount]", subOrder.BalancePayAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[TotalDiscountAmount]", subOrder.TotalDiscountAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[PointPayAmount]", subOrder.PointPayAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[SOAmount]", subOrder.SOAmount.ToString("F2"));
                email.MailBody = email.MailBody.Replace("[SOMemo]", subOrder.Memo);
                email.MailBody = email.MailBody.Replace("[SendTime]", DateTime.Now.ToString("yyyy-MM-dd"));
                email.MailBody = email.MailBody.Replace("[Year]", DateTime.Now.Year.ToString());

                string domain = ConfigurationManager.AppSettings["WebDomain"].ToString();

                StringBuilder sb = new StringBuilder();

                if (subOrder.OrderItemGroupList != null)
                {
                    subOrder.OrderItemGroupList.ForEach(groupItem =>
                    {
                        groupItem.ProductItemList.ForEach(item =>
                        {
                            sb.Append("<tr style=\"background:#fff;\">");
                            sb.AppendFormat("<td align=\"center\" valign=\"middle\" style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\"><a href=\"{0}\"><img src=\"{1}\" width=\"50\" height=\"50\" border=\"0\" /></a></td>", domain + "/product/detail/" + item.ProductSysNo, ProductFacade.BuildProductImage(ImageSize.P60, item.DefaultImage));
                            sb.AppendFormat("<td align=\"center\" style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\"><p>{0}</p></td>", item.ProductID);
                            sb.AppendFormat("<td valign=\"middle\" style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee; border-right:1px solid #eeeeee;\"><a href=\"{0}\" style=\"color:#ff6600; text-decoration:none; line-height:18px;\">{1}</a></td>", domain + "/product/detail/" + item.ProductSysNo, item.ProductName);
                            sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.UnitSalePrice.ToString("F2"));
                            sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">{0}</td>", item.UnitQuantity);
                            sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.TotalSalePrice.ToString("F2"));
                            sb.Append("</tr>");
                        });
                    });
                }
                if (subOrder.GiftItemList != null)
                {
                    var mergedSaleGiftList = new List <OrderGiftItem>();
                    subOrder.GiftItemList.ForEach(gift =>
                    {
                        if (!mergedSaleGiftList.Exists(g =>
                        {
                            if (g.ProductSysNo == gift.ProductSysNo)
                            {
                                g.UnitQuantity += gift.UnitQuantity;
                                return(true);
                            }
                            return(false);
                        }))
                        {
                            mergedSaleGiftList.Add(gift);
                        }
                    });
                    foreach (var item in mergedSaleGiftList)
                    {
                        sb.Append("<tr style=\"background:#FFF4F2;\">");
                        sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&nbsp;</td>");
                        sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&nbsp;</td>");
                        sb.AppendFormat("<td valign=\"middle\" style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee; border-right:1px solid #eeeeee;line-height:18px;\"><span style=\"color:#ff6600; padding-right:8px;\">[赠品]</span>{0}</td>", item.ProductName);
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.UnitSalePrice.ToString("F2"));
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">{0}</td>", item.UnitQuantity);
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.TotalSalePrice.ToString("F2"));
                        sb.Append("</tr>");
                    }
                }
                if (subOrder.AttachmentItemList != null)
                {
                    foreach (var item in subOrder.AttachmentItemList)
                    {
                        sb.Append("<tr style=\"background:#FFF4F2;\">");
                        sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&nbsp;</td>");
                        sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&nbsp;</td>");
                        sb.AppendFormat("<td valign=\"middle\" style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee; border-right:1px solid #eeeeee;line-height:18px;\"><span style=\"color:#ff6600; padding-right:8px;\">[附件]</span>{0}</td>", item.ProductName);
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.UnitSalePrice.ToString("F2"));
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">{0}</td>", item.UnitQuantity);
                        sb.AppendFormat("<td align=\"center\" style=\"border-right:1px solid #eeeeee; border-top:1px solid #eeeeee;\">&yen;{0}</td>", item.TotalSalePrice.ToString("F2"));
                        sb.Append("</tr>");
                    }
                }
                if (subOrder.TotalRewardedPoint >= 0)
                {
                    sb.Append("<tr style=\"background:#fff;\">");
                    sb.AppendFormat("<td colspan=\"6\" style=\"border-bottom:1px solid #eeeeee; border-top:1px solid #eeeeee; height:41px; text-align:center; font-weight:bold;\" align=\"center\">本单交易成功后您可以获得积分:<strong style=\"color:#c40000; font-size:12px; font-family:microsoft yahei;\">{0}</strong></td>", subOrder.TotalRewardedPoint);
                    sb.Append("</tr>");
                }

                email.MailBody = email.MailBody.Replace("[OrderContent]", sb.ToString()).Replace("[WebBaseUrl]", domain).Replace("[ImgBaseUrl]", email.ImgBaseUrl);
                EmailDA.SendEmail(email);
            }
        }