/// <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)); }
public static CustomerInfo GetCustomerByID(string customerid) { CustomerInfo item = CustomerDA.GetCustomerByID(customerid); if (item != null) { item.ExtendInfo = CustomerDA.GetCustomerExtendInfo(item.SysNo); } return(item); }
/// <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)); }
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;\">¥{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;\">¥{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;\"> </td>"); sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\"> </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;\">¥{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;\">¥{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;\"> </td>"); sb.AppendFormat("<td style=\"padding-left:5px; border-left:1px solid #eeeeee; border-top:1px solid #eeeeee;\"> </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;\">¥{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;\">¥{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); } }