Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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);
        }