婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解

深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解

熱門標簽:電銷語音自動機器人 戶外地圖標注軟件手機哪個好用 地圖標注和認領 五常地圖標注 鄭州400電話辦理 聯通 智能電話營銷外呼系統 長春呼叫中心外呼系統哪家好 凱立德導航官網地圖標注 萊蕪外呼電銷機器人價格

Lumisoft.NET組件是一個非常強大的郵件發送、郵件接收等功能的開源組件,一般用它來處理郵件的相關操作,是非常合適的。之前也寫過一些該組件的隨筆文章,不過主要是利用來發送郵件居多,最近由于項目需要,需要利用該組件來接收郵件,郵件通過POP3協議進行接收到本地,故對該組件進行了全面的了解和使用。本文主要是在此背景上,介紹該組件的POP3協議處理類的使用。Lumisoft.NET組件2013年作者有做了一定的更新,修復了一些問題,本文是基于該組件的最新版本進行開發使用。

1、POP3登錄及頭部信息獲取

首先使用POP3,必須創建一個POP3_Client的對象,然后通過Connect和Login進行連接和登錄處理,相關的代碼如下所示。

復制代碼 代碼如下:

using (POP3_Client popClient = new POP3_Client())
            {
                popClient.Logger = new Logger();
                popClient.Logger.WriteLog += new EventHandlerWriteLogEventArgs>(WriteLog);

                popClient.Connect(pop3Server, pop3Port, pop3UseSsl);
                popClient.Login(username, password);


POP3的的郵件下載通過POP3_Client 對象的屬性Messages對象進行,每個POP3_ClientMessage代表一份完整的郵件信息,一開始應該是只是獲取一些簡單的郵件信息(其中包括郵件的唯一標識UID),這樣才能提高POP3協議的處理速度,如下代碼所示。
復制代碼 代碼如下:

foreach (POP3_ClientMessage message in popClient.Messages)

為了進一步獲取郵件頭部信息,那么需要進行下面的轉換
復制代碼 代碼如下:

Mail_Message mime_header = Mail_Message.ParseFromByte(message.HeaderToByte());

轉換后Mail_Message承載了郵件頭部文件的很多必備信息,如發送人,發送人名稱,接收地址,抄送人地址,郵件標題,郵件日期等等信息。

這些郵件地址的信息,都是通過Mail_t_Mailbox對象來記錄,一般包含郵件地址的Address和顯示名稱DisplayName,這樣非常方便用來顯示,如我們可以進行轉義,記錄到數據庫里面。

復制代碼 代碼如下:

if (mime_header.From != null)
                        {
                            //(wuhuacong@163.com)
                            string displayname = mime_header.From[0].DisplayName;
                            string from = mime_header.From[0].Address;// DecodeString(mime_header.From[0].Address);
                            if (!string.IsNullOrEmpty(displayname))
                            {
                                info.From = string.Format("{0}({1})", displayname, from);
                            }
                            else
                            {
                                info.From = string.Format("{0}", from);
                            }
                        }

復制代碼 代碼如下:

if (mime_header.To != null)
                        {
                            StringBuilder sb = new StringBuilder();
                            foreach (Mail_t_Mailbox recipient in mime_header.To.Mailboxes)
                            {
                                string displayname = recipient.DisplayName;
                                string address = recipient.Address;
                                if (!string.IsNullOrEmpty(displayname))
                                {
                                    sb.AppendFormat("{0}({1});", displayname, address);
                                }
                                else
                                {
                                    sb.AppendFormat("{0};", address);
                                }
                            }
                            info.Senders = sb.ToString().Trim(';');
                        }

                        if (mime_header.Cc != null)
                        {
                            StringBuilder sb = new StringBuilder();
                            foreach (Mail_t_Mailbox recipient in mime_header.Cc.Mailboxes)
                            {
                                string displayname = recipient.DisplayName;
                                string address = recipient.Address;
                                if (!string.IsNullOrEmpty(displayname))
                                {
                                    sb.AppendFormat("{0}({1});", displayname, address);
                                }
                                else
                                {
                                    sb.AppendFormat("{0};", address);
                                }
                            }
                            info.Carboncopy = sb.ToString().Trim(';');
                        }


每封Email會有一個在Pop3服務器范圍內唯一的Id,檢查這個Id是否存在就可以知道以前有沒有接收過這封郵件
復制代碼 代碼如下:

info.MailUid = message.UID;

每份郵件的頭部信息,都會包含一個日期的,如下可以獲取到該日期
復制代碼 代碼如下:

info.Date = mime_header.Date;

標題信息可以通過下面代碼獲取
復制代碼 代碼如下:

info.Title = mime_header.Subject;/

2、郵件正文信息和附件信息的獲取

如果需要進一步獲取郵件的正文內容,則需要對信息進行進一步的轉換,把message對象進行MessageToByte操作,然后利用函數Mail_Message.ParseFromByte進行轉換。
復制代碼 代碼如下:

byte[] messageBytes = message.MessageToByte();

Mail_Message mime_message = Mail_Message.ParseFromByte(messageBytes);
if (mime_message == null) continue;
info.Body = mime_message.BodyText;
try
{
     if (!string.IsNullOrEmpty(mime_message.BodyHtmlText))
     {
            info.Body = mime_message.BodyHtmlText;
     }
 }
catch
{
     //屏蔽編碼出現錯誤的問題,錯誤在BodyText存在而BodyHtmlText不存在的時候,訪問BodyHtmlText會出現
}


郵件的附件是通過MIME_Entity來承載信息的,所以我們需要把對象通過mime_message.GetAttachments(true, true)進行獲取,轉換為附件信息。
復制代碼 代碼如下:

#region 郵件附件內容
                        foreach (MIME_Entity entity in mime_message.GetAttachments(true, true))
                        {
                            if (entity.ContentDisposition != null
                                entity.ContentDisposition.Param_FileName != null)
                            {
                                //Console.WriteLine("Attachment: " + entity.ContentDisposition.Param_FileName);
                                string fileName = entity.ContentDisposition.Param_FileName;

如果需要進一步獲取附件里面的文件字節流,那么還需要進行進一步的轉換為MIME_b_SinglepartBase對象。
復制代碼 代碼如下:

MIME_b_SinglepartBase byteObj = (MIME_b_SinglepartBase)entity.Body;
 if (byteObj != null)
 {
         FileUtil.CreateFile(filePath, byteObj.Data);
         fileSize = byteObj.Data.Length;

如果要區分郵件里面的附件是內嵌圖片附件還是真正的附件,那么可以通過下面代碼進行判斷,如果是MIME_DispositionTypes.Attachment的就是普通附件,MIME_DispositionTypes.Inline的就是內嵌正文的附件。
復制代碼 代碼如下:

entity.ContentDisposition.DispositionType == MIME_DispositionTypes.Attachment

3、郵件的刪除操作
 
服務器上的郵件,可以通過POP3的協議方式進行刪除,刪除操作很簡單,主要是通過mail.MarkForDeletion進行標識即可,實例操作代碼如下所示
復制代碼 代碼如下:

using (POP3_Client c = new POP3_Client())
            {
                c.Connect(pop3Server, pop3Port, pop3UseSsl);
                c.Login(username, password);

                if (c.Messages.Count > 0)
                {
                    foreach (POP3_ClientMessage mail in c.Messages)
                    {
                        try
                        {
                            if (toDeleteMailUidList.Contains(mail.UID))
                            {
                                mail.MarkForDeletion();

                                deletedList.Add(mail.UID);
                            }
                        }
                        catch (Exception ex)
                        {
                            LogTextHelper.Error(ex);
                        }
                    }
                }
            }

您可能感興趣的文章:
  • java使用Socket實現SMTP協議發送郵件
  • Java+Nginx實現POP、IMAP、SMTP郵箱代理服務
  • java實現基于SMTP發送郵件的方法
  • 提示Outlook/Foxmail收取163郵件失敗:ERR 您沒有權限使用pop3功能
  • 如何用POP3接收電子郵件?
  • 手工體驗smtp和pop3協議 郵件實現詳解(二)

標簽:衢州 西藏 福州 西寧 宣城 紅河 湖州 岳陽

巨人網絡通訊聲明:本文標題《深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解》,本文關鍵詞  深入,Lumisoft.NET,組件,POP3,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解》相關的同類信息!
  • 本頁收集關于深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美国产精品一区二区| 99久久国产综合精品色伊| 中文字幕亚洲一区二区av在线| 欧美一区二区精品在线| 91黄色免费版| 色综合久久综合网| 91久久免费观看| 欧美日韩一级黄| 欧美一区二区成人| 日韩三级视频在线观看| 欧美日韩国产a| 欧美一级欧美三级在线观看| 日韩欧美中文一区二区| 精品999在线播放| 久久久国产午夜精品| 国产精品网站在线观看| 亚洲色图丝袜美腿| 婷婷中文字幕一区三区| 日韩成人一区二区三区在线观看| 日本欧美在线观看| 国产精品亚洲综合一区在线观看| 不卡区在线中文字幕| 色天使久久综合网天天| 777久久久精品| 久久久精品蜜桃| 一区二区在线电影| 久久av资源网| 色综合久久88色综合天天免费| 欧美美女一区二区在线观看| 精品国产网站在线观看| 亚洲视频图片小说| 蜜桃视频在线观看一区| 不卡一二三区首页| 日韩精品资源二区在线| 最新国产の精品合集bt伙计| 视频一区二区欧美| 成a人片国产精品| 9191久久久久久久久久久| 中文字幕成人网| 婷婷开心久久网| 99精品国产热久久91蜜凸| 欧美高清性hdvideosex| 中文字幕视频一区| 国产一区美女在线| 欧美精品v国产精品v日韩精品 | 亚洲国产精品精华液网站| 免费在线一区观看| www.欧美.com| 久久嫩草精品久久久久| 亚洲国产一区视频| 97国产精品videossex| 欧美电影免费观看高清完整版在线观看 | 亚洲视频资源在线| 麻豆精品一区二区av白丝在线| av电影天堂一区二区在线| 精品国产乱码久久久久久老虎 | 国产成都精品91一区二区三| 91麻豆精品国产自产在线| 亚洲精品中文在线| 一本到不卡精品视频在线观看| 久久综合999| 美女视频黄a大片欧美| 欧美性三三影院| 一色桃子久久精品亚洲| 国产成人自拍网| 欧美va在线播放| 丝袜脚交一区二区| 欧美一区二区三级| 免费三级欧美电影| 91精品蜜臀在线一区尤物| 亚洲综合一二区| 欧美亚洲高清一区二区三区不卡| 亚洲色图制服丝袜| 日本精品一区二区三区四区的功能| 国产精品不卡视频| www.亚洲在线| 亚洲精品国产无天堂网2021| 色悠久久久久综合欧美99| 亚洲欧美区自拍先锋| 色呦呦国产精品| 亚洲一区二区av电影| 欧美日韩在线三级| 日韩不卡一区二区三区| 精品电影一区二区三区| 国产成人啪午夜精品网站男同| 国产人久久人人人人爽| 99精品桃花视频在线观看| 一区二区三区在线观看视频| 欧美精品亚洲一区二区在线播放| 天堂久久一区二区三区| 精品久久久影院| 国产v综合v亚洲欧| 亚洲一区二区在线观看视频| 91麻豆精品国产91久久久 | 国产在线麻豆精品观看| 日本一区二区在线不卡| 91色九色蝌蚪| 日本不卡的三区四区五区| 久久精品一区二区| 欧美亚洲国产一区二区三区va| 蜜桃av噜噜一区| 国产精品久久久久9999吃药| 欧美三区在线观看| 国产麻豆视频精品| 亚洲精品国产精华液| 精品对白一区国产伦| 91丝袜呻吟高潮美腿白嫩在线观看| 婷婷六月综合亚洲| 国产精品萝li| 日韩免费性生活视频播放| 99国产精品久久久久久久久久| 日韩成人免费看| 亚洲天堂av一区| 精品福利一区二区三区免费视频| 91蜜桃在线免费视频| 国产一区二区久久| 日韩高清不卡一区二区三区| 中国av一区二区三区| 制服丝袜日韩国产| 色综合久久久久久久| 国产精品一区二区视频| 婷婷中文字幕一区三区| 亚洲自拍偷拍图区| 国产精品蜜臀av| 久久久高清一区二区三区| 欧美疯狂性受xxxxx喷水图片| 波多野结衣亚洲| 日韩美女天天操| 亚洲一区二区av电影| 久久综合九色综合欧美就去吻| 欧美午夜理伦三级在线观看| 成人爱爱电影网址| 性做久久久久久久免费看| 中文字幕在线不卡视频| 欧美精品一区二区三区在线| 51久久夜色精品国产麻豆| 日韩精品亚洲专区| 性做久久久久久| 国产精品888| 色妞www精品视频| 7777女厕盗摄久久久| 久久久久久久久久美女| 亚洲人成网站色在线观看| 五月天亚洲婷婷| 国产剧情一区二区| 欧美午夜电影在线播放| 欧美大片国产精品| 亚洲激情六月丁香| 黄网站免费久久| 欧美综合久久久| 久久夜色精品国产欧美乱极品| 一区二区激情小说| 国产成人精品三级麻豆| 欧美日本在线播放| 国产精品久久久久三级| 亚洲成av人片www| 顶级嫩模精品视频在线看| 欧美日韩在线播| 国产精品免费网站在线观看| 全部av―极品视觉盛宴亚洲| 国v精品久久久网| 欧美日高清视频| 椎名由奈av一区二区三区| 久久99精品网久久| 欧美视频一区二区三区| 国产女人18毛片水真多成人如厕| 丝袜亚洲精品中文字幕一区| 不卡的av在线播放| 久久久久久综合| 日韩va欧美va亚洲va久久| 色乱码一区二区三区88| 国产精品久久久久影院老司| 久久99精品久久久久久国产越南| 欧美日韩一区二区三区不卡 | 91一区二区在线| 国产欧美日韩麻豆91| 免费精品99久久国产综合精品| 91国产视频在线观看| 亚洲视频一二区| av成人免费在线观看| 久久精品一二三| 国产精品一区二区久激情瑜伽 | 在线播放日韩导航| 亚洲综合一二区| 色香蕉成人二区免费| 亚洲视频在线一区| 99久久国产综合精品女不卡| 国产精品久久久久婷婷二区次| 国产在线精品视频| 精品国产乱码久久久久久浪潮| 免费观看91视频大全| 91精品啪在线观看国产60岁| 亚洲一二三四区不卡| 欧美在线一区二区三区| 一区二区三区高清| 在线视频国内自拍亚洲视频| 一级日本不卡的影视| 欧美三片在线视频观看| 亚洲午夜av在线| 91精品国产综合久久国产大片|