public IHttpActionResult SendEmail(string orgID, string loginName) { int number; char code; string checkCode = String.Empty; System.Random random = new Random(); for (int i = 0; i < 4; i++) { number = random.Next(); if (number % 2 == 0) { code = (char)('0' + (char)(number % 10)); } else { code = (char)('A' + (char)(number % 26)); } checkCode += code.ToString(); } checkCode = checkCode.ToUpper(); IOrganizationManageService service = IOCContainer.Instance.Resolve <IOrganizationManageService>(); BaseRequest <NCI_UserFilter> userFilter = new BaseRequest <NCI_UserFilter>(); userFilter.Data.Account = loginName; var response = service.QueryUser(userFilter); ChangePassword request = new WebAPI.ChangePassword(); request.OrgID = orgID; request.LoginName = loginName; if (response.Data.Count == 1) { request.Email = response.Data[0].Email; } request.ValidateCode = checkCode; SessionHelper.SetSession("UserInfo", request); var adminUserList = service.GetUsreByRoleType(request.OrgID, "Admin"); List <string> toMailAddress = new List <string>(); if (!string.IsNullOrEmpty(request.Email)) { toMailAddress.Add(request.Email); } if (adminUserList.Data != null) { adminUserList.Data.ForEach(it => { if (!string.IsNullOrEmpty(it.Email)) { toMailAddress.Add(it.Email); } }); } if (toMailAddress.Count > 0) { string senderServerIp = "smtp.163.com"; //smtp.163.com //smtp.gmail.com //smtp.qq.com //smtp.sina.com; //[email protected] string fromMailAddress = "*****@*****.**"; string subjectInfo = "修改密碼"; string bodyInfo = string.Format("您好 {0}, 這是修改密碼的驗證碼{1}。", loginName, checkCode); string mailUsername = "******"; string mailPassword = "******"; //发送邮箱的密码() string mailPort = "25"; MyEmail email = new MyEmail(senderServerIp, toMailAddress, fromMailAddress, subjectInfo, bodyInfo, mailUsername, mailPassword, mailPort, false, false); email.Send(); } if (toMailAddress.Count > 0) { string msg = string.Empty; toMailAddress.ForEach(it => { int index = it.IndexOf("@") - 3; if (index < 1) { index = 1; } msg = string.Format("{0}{1}*{2};", msg, it.Substring(0, 1), it.Substring(index, it.Length - index)); }); msg = string.Format("驗證碼已發送至:{0}", msg.TrimEnd(';')); return(Ok(msg)); } else { return(Ok("您沒有設置接收驗收驗收碼的郵箱,請聯繫管理員。")); } }