public IActionResult func_active(string aid, string ip) { string uavGUID = aid; Hashtable htb = new Hashtable(); if (uavGUID.IsNullOrEmpty() || uavGUID.Length != 32) { htb.Add("gate", "sw"); return(this.FuncResult(new APIReturn(10302, "帐号格式错误", htb))); } D2unactiveInfo gua = D2unactive.GetItem(uavGUID); if (gua == null) { htb.Add("gate", "sw"); return(this.FuncResult(new APIReturn(10300, "帐号不存在", htb))); } TimeSpan ts1 = DateTime.Now - gua.UavTime1.Value; if (ts1.TotalHours >= 48) { htb.Add("gate", gua.UavGate); return(this.FuncResult(new APIReturn(10354, "超过48小时未激活", htb))); } string gateSrc; bool rc = this.Func_SetAV2(gua, out gateSrc); string gatesrcurl = string.Empty; try { if (rc && !string.IsNullOrEmpty(gateSrc)) { string gatesrc = gateSrc; gatesrcurl = DC2Conf.GetGateSrcUrl(gateSrc); if (gatesrc == "025") { gatesrcurl += (gatesrcurl.IndexOf("?") == -1 ? "?" : "&") + string.Format("{0}={1}&tid={2}", "email", gua.UavEMail, gua.UavGUID); } gatesrcurl = gatesrcurl.Replace("=", "%3d"); gatesrcurl = gatesrcurl.Replace("&", "%26"); } } catch (Exception e) { gatesrcurl = null; } htb.Add("gate", gua.UavGate); htb.Add("gatesrcurl", gatesrcurl); if (rc) { return(this.FuncResult(new APIReturn(0, string.Empty, htb))); } else { return(this.FuncResult(new APIReturn(0, "激活帐号失败", htb))); } }
public static bool Func_SendMail(D2unactiveInfo unactiveInfo, ViewRenderService viewRender) { string pName = DC2Conf.GetPName(unactiveInfo.UavGate); string srcname = DC2Conf.GetGateSrcUrl(unactiveInfo.UavGateSrc); string title = string.Format("请确认您的{0}帐号", pName); string url = string.Format(DC2Conf.AvUrlFormat, unactiveInfo.UavGUID, unactiveInfo.UavGate); if (unactiveInfo.UavFlag == 11 || unactiveInfo.UavFlag == 12) { url = string.Format(DC2Conf.AvNPUrlFormat, unactiveInfo.UavGUID, unactiveInfo.UavGate); } Hashtable cht_data = new Hashtable(); cht_data["来源产品名"] = srcname; if (!string.IsNullOrWhiteSpace(srcname) && srcname.IndexOf("多益通") == -1) { title += string.Format("[{0}]", srcname); } cht_data["产品名"] = pName; cht_data["用户帐号名"] = unactiveInfo.UavEMail; cht_data["链接地址"] = url; string viewName = "letter_active"; string fromName = "多益网络"; if (IsTW(unactiveInfo.UavFlag ?? 0) && unactiveInfo.UavGateSrc == "dw") { title = string.Format("请确认您的{0}帐号[夢想帝王]", "英雄通行證"); cht_data["来源产品名"] = "夢想帝王"; cht_data["产品名"] = "英雄通行證"; viewName = "letter_active_tw"; fromName = "英雄網路"; string urltw = url.Replace("hi.duoyi.com", "hi.herojoys.com"); cht_data["链接地址"] = urltw; } if (DC2Conf.IsHerojoys) { title = title.Replace("多益", "英雄"); cht_data["产品名"] = "英雄通行证"; cht_data["来源产品名"] = cht_data["来源产品名"].ToString().Replace("多益", "英雄"); fromName = "英雄网络"; } if (unactiveInfo.UavGate.ToLower() == "dw" || unactiveInfo.UavGate.ToLower() == "mx")//这些是确认邮件 { viewName = "letter_confirmemail"; title = string.Format("请确认您在[{0}]使用的邮箱帐号", pName); } string viewPath = UrsHelper.GetTPLViewPath(viewName); string content = viewRender.Render <Hashtable>(viewPath, cht_data); //this.EndFor(sw.ToString()); bool rc = false; try { rc = D2lib.SendMail_Henhaoji(unactiveInfo, fromName, unactiveInfo.UavEMail, unactiveInfo.UavEMail, title, content, true); if (rc) { D2unactive.Func_SetState(unactiveInfo.UavGUID, (int)EUAS.已发送); } } catch (Exception es) { if (es is FormatException) { rc = true; D2unactive.Func_SetState(unactiveInfo.UavGUID, (int)EUAS.异常); } } return(rc); }