Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }