首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

LumiSoft.Net.IMAP收邮件有关问题

2013-11-23 
LumiSoft.Net.IMAP收邮件问题我用LumiSoft.Net.IMAP收邮件时,为何未读邮件没有变为已读啊?怎么才能让读取

LumiSoft.Net.IMAP收邮件问题
我用LumiSoft.Net.IMAP收邮件时,为何未读邮件没有变为已读啊?怎么才能让读取未读邮件时,会改变为已读呢?或者删掉算了。求告诉帮帮忙啊!!感激不尽
部分代码:


/// <summary>
        /// 根据邮件编号返回邮件内容
        /// </summary>
        /// <param name="uid">邮件编号</param>
        /// <returns>成功返回邮件内容,失败返回空字符串</returns>
        public string LoadMessage(long uid)
        {
            try
            {
                /* NOTE: IMAP_Client_FetchHandler provides events to handle IMAP server returned
                 *  fetch data items for requested message(s).
                */
                string html = "";
                IMAP_Client_FetchHandler fetchHandler = new IMAP_Client_FetchHandler();
                fetchHandler.Rfc822 += new EventHandler<IMAP_Client_Fetch_Rfc822_EArgs>(delegate(object s, IMAP_Client_Fetch_Rfc822_EArgs e)
                {
                    MemoryStream storeStream = new MemoryStream();
                    e.Stream = storeStream;
                    e.StoringCompleted += new EventHandler(delegate(object s1, EventArgs e1)
                    {
                        storeStream.Position = 0;
                        Mail_Message mime = Mail_Message.ParseFromStream(storeStream);
                        //this.tmimin.Tag = mime;
                        //m_pTabPageMail_MessageAttachments.Tag = mime;
                        foreach (MIME_Entity entity in mime.Attachments)
                        {
                            //ListViewItem item = new ListViewItem();
                            if (entity.ContentDisposition != null && entity.ContentDisposition.Param_FileName != null)
                            {
                                //this.tmimin.Text += "附件:" + entity.ContentDisposition.Param_FileName;
                            }
                            else
                            {
                                //this.tmimin.Text += "附件: untitled";
                            }
                            //item.ImageIndex = 0;


                            //item.Tag = entity;
                            //m_pTabPageMail_MessageAttachments.Items.Add(item);
                        }
                        if (mime.BodyHtmlText != null)
                        {
                            html = mime.BodyHtmlText;
                        }
                        else if (mime.BodyText != null)
                        {
                            html = mime.BodyText;
                        }
                        else
                        {
                            html = "";
                        }
                    });
                });
                IMAP_SequenceSet seqSet = new IMAP_SequenceSet();
                seqSet.Parse(uid.ToString());

                // Start fetching (IMAP_Client_FetchHandler events are rised when IMAP server returns any data).
                this.imap.Fetch(
                     true,
                     seqSet,
                     new IMAP_Fetch_DataItem[]{
                         new IMAP_Fetch_DataItem_Rfc822()
                    },
                     fetchHandler
                 );
                return html;
            }
            catch //(Exception x)
            {
                return "";
                //MessageBox.Show(this, "Error: " + x.ToString(), "Error:", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }


[解决办法]
读取IMAP_Fetch_DataItem_Rfc822()就会未读的变为已读的

热点排行