private bool InserRecTable(MimeMessage message, Tnsmtp_Account tnsmtp_Account) { DataAccess.Tnsmtp_Recmail tnsmtp_Recmail = new Tnsmtp_Recmail(); tnsmtp_Recmail.ReferenceTransactionFrom(this.Transaction); tnsmtp_Recmail.Userid = tnsmtp_Account.Userid; tnsmtp_Recmail.AccountId = tnsmtp_Account.Aid; tnsmtp_Recmail.Content = message.HtmlBody; tnsmtp_Recmail.Rectimer = message.Date.DateTime; tnsmtp_Recmail.Euid = message.MessageId; tnsmtp_Recmail.Subject = message.Subject; tnsmtp_Recmail.Hasfile = message.Attachments.Any() ? 1 : 0; tnsmtp_Recmail.ReciverMail = tnsmtp_Account.Account; tnsmtp_Recmail.ReciverName = tnsmtp_Account.Account; tnsmtp_Recmail.SenderName = message.From[0].Name; tnsmtp_Recmail.SenderMail = message.From.Mailboxes.ToList()[0].Address; if (!tnsmtp_Recmail.Insert()) { Log.Info("获取邮件后添加数据库失败!" + message.MessageId); Alert("获取邮件后添加数据库失败!" + message.MessageId); return(false); } if (message.Attachments.Any()) { foreach (MimeEntity item in message.Attachments) { if (!InsertAttTable(item, tnsmtp_Account, tnsmtp_Recmail)) { Log.Info("获取邮件后添加附件失败!"); Alert("获取邮件后添加附件失败!"); return(false); } } } return(true); }
/// <summary> /// 添加附件表数据 /// </summary> /// <returns></returns> public bool AddAtthachmentTable(Tnsmtp_EmailMap model, Tnsmtp_Account tnsmtp_Account, out Dictionary <string, string> filelist) { Dictionary <string, string> dic = new Dictionary <string, string>(); if (model.Atthachment == null || model.Atthachment.Length <= 0) { filelist = dic; return(true); } foreach (var file in model.Atthachment) { DataAccess.Tnsmtp_Attachment tnsmtp_Attachment = new DataAccess.Tnsmtp_Attachment(); tnsmtp_Attachment.ReferenceTransactionFrom(this.Transaction); tnsmtp_Attachment.AccountId = tnsmtp_Account.Aid; tnsmtp_Attachment.FileUrl = file; tnsmtp_Attachment.FileName = Path.GetFileName(file); tnsmtp_Attachment.MailId = model.MailId; tnsmtp_Attachment.Status = 0; tnsmtp_Attachment.UserId = model.Userid; string path = HttpContext.Current.Server.MapPath("~/File/UserFile/" + model.Userid + "/Attachment/" + tnsmtp_Attachment.FileName); tnsmtp_Attachment.Remarks = path; //保存物理路径 if (!tnsmtp_Attachment.Insert()) { filelist = dic; return(false); } dic.Add(tnsmtp_Attachment.FileName, path); } filelist = dic; return(true); }
private bool InsertAttTable(MimeEntity entity, Tnsmtp_Account tnsmtp_Account, Tnsmtp_Recmail tnsmtp_Recmail) { string url = string.Empty; ImapEmail imapEmail = new ImapEmail(); if (!imapEmail.KitAttFileHelper(entity, tnsmtp_Account.Userid, out url)) { Log.Info("文件下载失败!" + entity.ContentDisposition.FileName); Alert("文件下载失败"); return(false); } DataAccess.Tnsmtp_Receivefile tnsmtp_Receivefile = new Tnsmtp_Receivefile(); tnsmtp_Receivefile.ReferenceTransactionFrom(this.Transaction); tnsmtp_Receivefile.RecMailid = tnsmtp_Recmail.Recid; tnsmtp_Receivefile.Userid = tnsmtp_Recmail.Recid; tnsmtp_Receivefile.Accountid = tnsmtp_Account.Aid; tnsmtp_Receivefile.Fileurl = url; tnsmtp_Receivefile.Filename = entity.ContentDisposition.FileName; tnsmtp_Receivefile.Downloadurl = "/File/UserFile/" + tnsmtp_Account.Userid + "/RecAttachment/" + Path.GetFileName(url); FileInfo fileInfo = new FileInfo(url); tnsmtp_Receivefile.Filesize = (int)Math.Ceiling(fileInfo.Length / 1048576.0); if (!tnsmtp_Receivefile.Insert()) { Log.Info("获取邮件后添加附件失败!" + entity.ContentDisposition.FileName); Alert("添加附件信息失败"); return(false); } return(true); }