/// <summary> /// 发送一条邮件 /// </summary> /// <param name="receive">收件人</param> /// <param name="subject">邮件主题</param> /// <param name="mailbody">邮件内容</param> /// <param name="type">类型</param> /// <returns>发送结果</returns> /// <remarks>2013-09-24 陶辉 创建</remarks> public EdmResult SendMail(string receive, string subject, string mailbody, EmailType type = EmailType.Notification) { var result = new EdmResult(); if (!string.IsNullOrEmpty(receive) && !string.IsNullOrEmpty(subject) && !string.IsNullOrEmpty(mailbody)) { result = EdmProviderFactory.CreateProvider().Send(receive, subject, mailbody, type); SaveToDb(receive, subject, mailbody, type, result); } return(result); }
/// <summary> /// 将字符串转换为邮件发送结果 /// </summary> /// <param name="stringResult">结果字符串</param> /// <returns>发送结果</returns> /// <remarks>2014-1-14 黄波 创建</remarks> private EdmResult ConvertResult(string stringResult) { EdmResult result = new EdmResult(); switch (stringResult) { case "success": result.Status = EdmResultStatus.Success; result.Message = "邮件发送成功"; break; default: result.Status = EdmResultStatus.Failue; result.Message = stringResult; break; } return(result); }
/// <summary> /// 把邮件记录到数据库 /// </summary> /// <param name="receive">收件人</param> /// <param name="subject">邮件主题</param> /// <param name="mailbody">邮件内容</param> /// <param name="type">类型</param> /// <param name="result">发送结果</param> /// <remarks>2013-09-24 陶辉 创建</remarks> private void SaveToDb(string receive, string subject, string mailbody, EmailType type, EdmResult result) { var model = new NcEmail() { CreatedBy = 0, CreatedDate = DateTime.Now, ErrorQuantity = result.Status == EdmResultStatus.Success ? 0 : 1, HandleTime = DateTime.Now, MailAddress = receive, MailSubject = subject, MailBody = mailbody, MailType = (int)type, Status = result.Status == EdmResultStatus.Success ? (int)Hyt.Model.WorkflowStatus.NotificationStatus.邮件发送状态.已发 : (int)Hyt.Model.WorkflowStatus.NotificationStatus.邮件发送状态.待发 }; Hyt.DataAccess.Notification.INcEmailDao.Instance.Create(model); }