中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LumiSoft怎么收取郵件

發布時間:2021-07-27 18:47:05 來源:億速云 閱讀:152 作者:chen 欄目:編程語言

這篇文章主要介紹“LumiSoft怎么收取郵件”,在日常操作中,相信很多人在LumiSoft怎么收取郵件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”LumiSoft怎么收取郵件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在.NET當中利用C#發送電子郵件很簡單,微軟也提供了默認的實現,但是收取電子郵件的操作卻并沒有提供解決方案。好在有一些第三方的解決方案可供選擇,來簡化程序員日常項目中的開發工作。

這里我選用LumiSoft,下載地址為http://www.lumisoft.ee/lswww/download/downloads/。當你打開鏈接,會發現里面有很多項目,為了實現收取郵件的功能,我們可以選擇Examples里面的pop3_client_app.zip文件。我們解壓縮,利用VS打開這個項目運行即可。這是官方提供的一個現成的示例,能夠收取郵件并顯示。

LumiSoft怎么收取郵件

我們打開這個項目bin目錄下的LumiSoft.Net.dll文件,這就是封裝好的一個核心dll。我們可以利用.NET Reflector工具查看這個dll里面的類、方法等。

LumiSoft怎么收取郵件

基本上有了官方源代碼例子以及Reflector工具,我們就可以利用它進行編程實現了。使用方式很簡單,只要在項目中引用LumiSoft.Net.dll這一個文件即可。下面我就直接貼出一段完整的控制臺項目代碼,實現的是收取郵件(顯示)并下載郵件的附件(支持多個附件)到指定目錄下的功能。沒有漂亮的界面,留給讀者自行完善吧。

namespace MailHelper
{
    class Program
    {
        static void Main(string[] args)
        {
            using (POP3_Client pop3 = new POP3_Client())
            {
                pop3.Connect("pop.qq.com", 995, true);
                pop3.Login("id", "password");//兩個參數,前者為Email的賬號,后者為Email的密碼
           
                POP3_ClientMessageCollection messages = pop3.Messages;
                Console.WriteLine("共{0}封郵件", messages.Count);
           
                for (int i = 0; i < messages.Count; i++)
                {
                    POP3_ClientMessage message = messages[i];//轉化為POP3
                    Console.WriteLine("\r\n正在檢查第{0}封郵件...", i + 1);
                    if (message != null)
                    {
                        byte[] messageBytes = message.MessageToByte();
                        Mail_Message mime_message = Mail_Message.ParseFromByte(messageBytes);
           
                        string sender = mime_message.From == null ? "sender is null" : mime_message.From[0].DisplayName;
                        string senderAddress = mime_message.From == null ? "senderAddress is null" : mime_message.From[0].Address;
                        string subject = mime_message.Subject ?? "subject is null";
                        string recDate = mime_message.Date == DateTime.MinValue ? "date not specified" : mime_message.Date.ToString();
                        string content = mime_message.BodyText ?? "content is null";
                        Console.WriteLine("郵件地址為{0}的{1},于{2}發送了主題為{3}的郵件", senderAddress, sender, recDate, subject);
                        Console.WriteLine("內容為{0}", content);
           
                        MIME_Entity[] p_w_uploads = mime_message.GetAttachments(true, true);
           
                        foreach (MIME_Entity entity in p_w_uploads)
                        {
                            if (entity.ContentDisposition != null)
                            {
                                string fileName = entity.ContentDisposition.Param_FileName;
                                if (!string.IsNullOrEmpty(fileName))
                                {
                                    DirectoryInfo dir = new DirectoryInfo(@"D:\email\");
                                    if (!dir.Exists) dir.Create();
           
                                    string path = Path.Combine(dir.FullName, fileName);
                                    MIME_b_SinglepartBase byteObj = (MIME_b_SinglepartBase)entity.Body;
                                    Stream decodedDataStream = byteObj.GetDataStream();
                                    using (FileStream fs = new FileStream(path, FileMode.Create))
                                    {
                                        LumiSoft.Net.Net_Utils.StreamCopy(decodedDataStream, fs, 4000);
                                    }
                                    Console.WriteLine("{0}已經被下載。", fileName);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

效果圖:

LumiSoft怎么收取郵件

LumiSoft怎么收取郵件

到此,關于“LumiSoft怎么收取郵件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 鄂伦春自治旗| 东乡县| 阿克| 湄潭县| 信丰县| 洮南市| 资兴市| 宁国市| 肃北| 房产| 常德市| 稻城县| 收藏| 铜山县| 九龙县| 霸州市| 定远县| 铜梁县| 牟定县| 日土县| 吴堡县| 泸西县| 灌阳县| 沁阳市| 太仓市| 建平县| 盈江县| 淳安县| 哈密市| 揭西县| 吴江市| 会宁县| 湘潭县| 同江市| 夹江县| 临沂市| 双江| 普兰店市| 米易县| 松桃|