예제 #1
0
 /// <summary>
 /// 添加日志
 /// </summary>
 /// <param name="info"></param>
 /// <param name="status"></param>
 protected virtual void AddLog(EmailEntity info, bool status)
 {
     try
     {
         if (info == null || !info.IsLog || info.Mail == null)
         {
             return;
         }
         if (info.Mail.SendServer != null)
         {
             var message = new MessageEntity
             {
                 Name        = info.Name,
                 Description = info.Description,
                 Type        = MessageType.Email,
                 FromAddress = info.Mail != null && info.Mail.SendServer != null ? "" : info.Mail.SendServer.FromMail,
                 ToAddress   = string.Join(",", info.Mail.ToMails),
                 Content     = string.Format("Subject:{0},Detail:{1}", info.Mail.Subject, info.Mail.Body),
                 Number      = info.Number,
                 Status      = status.ToString(),
                 SaveType    = SaveType.Add
             };
             Creator.Get <IContext>().Set(message, message);
             message.SaveType = message.SaveType;
         }
         var unitofworks = Creator.Get <IContext>().Save();
         Creator.Get <IContext>().Commit(unitofworks);
     }
     catch (Exception ex)
     {
         Creator.Get <ILog>().AddException(ex);
     }
 }
예제 #2
0
 /// <summary>
 /// 发送邮件
 /// </summary>
 /// <param name="info"></param>
 public virtual string Send(EmailEntity info)
 {
     try
     {
         var status = Creator.Get <IMail>().Send(info.Mail);
         Action <EmailEntity, bool> func = AddLog;
         func.BeginInvoke(info, status, null, null);
         return(status.ToString());
     }
     catch (Exception ex)
     {
         Creator.Get <ILog>().AddException(ex);
     }
     return(null);
 }