日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 接收邮件

發布時間:2023/12/2 C# 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 接收邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#沒有內置收郵件的類,參考網絡上的代碼,針對POP3協議服務器使用 Jmail組件來收郵件,針對IMAP協議服務器使用LumiSoft.Net 。

另外,一般免費郵箱需要在郵箱設置中開啟 POP3(或IMAP)、 SMTP服務才可以使用非瀏覽器客戶端連接。在測試以下代碼之前,確保已經開啟以上服務。

在編寫代碼之前,需要先安裝Jmail組件,然后再用 vS2008 的工具轉化為可以引用的組件。以下是在網絡上得到的做法:

第一步:首先下載并安裝最新版的Jmail。
第二步:使用“Visual Studio 2008 命令提示”重新編譯組件:在命令提示框中執行TlbImp.exe命令,tlbimp "jmail.dll所在目錄"/jmail.dll /out:myJmail.dll /namespace:myJmail
生成myJmail.dll


把這個 myjmail.dll 放到項目中,然后添加對它的引用即可。

下面是一個接收郵件的方法:

public static bool 收郵件(string 用戶名,string 密碼,string 服務器)
??????? {
??????????? myJmail.POP3 pop = new myJmail.POP3Class();
??????????? pop.Connect(用戶名, 密碼,服務器 , 110);//連接服務器
??????????? for (int i = 1; i < pop.Messages.Count; i++)
??????????? {
??????????????? if (pop.DownloadSingleMessage(i).Subject == null) continue;
??????????????? try
??????????????? {//以下這些屬性用于檢索接收到的郵件的信息
?????????????????? //?? pop.DownloadSingleMessage(i).Subject.ToString() //主題
?????????????????? // pop.DownloadSingleMessage(i).From.ToString() //發送郵件的人
?????????????????? // pop.DownloadSingleMessage(i).Date.ToString();//發送郵件的時間
?????????????????? //其他信息……
??????????????? }
??????????????? catch (Exception ex)
??????????????? {
??????????????????? //ex.Message;
??????????????? }


??????????? }
??????????? pop.Disconnect();//釋放連接
??????????? return true;
??????? }

比如,163免費郵箱的用戶名如 user@163.com,POP3服務器為 pop3.163.com,
新浪的為 pop3.sina.com,

對于Gmail郵箱,不能使用上面的代碼來接收郵件,因為其服務器并不是使用POP3協議接收郵件,而是用IMAP協議。

第三方組件 LumiSoft.Net 已經有專門處理IMAP協議的類。所以下載 LumiSoft.Net 組件,添加對 LumiSoft.Net.dll 的引用,使用命名空間

using LumiSoft.Net.IMAP;
using LumiSoft.Net.IMAP.Client;

即可。

??????? public static bool Gmail收郵件(string 用戶名, string 密碼)
??????? {
??????????? IMAP_Client 客戶端 = new IMAP_Client();
??????????? try
??????????? {
??????????????? //連接郵件服務器通過傳入郵件服務器地址和用于IMAP協議的端口號
??????????????? 客戶端.Connect("imap.gmail.com", 993, true);//接收郵件服務器必須為 993,且必須使用 SSL 加密。
??????????????? //登陸郵箱
??????????????? 客戶端.Login(用戶名, 密碼);

//處理郵箱中的信息,例如:
??????????????? IMAP_r_u_List [] list=客戶端.GetFolders (null);//文件夾列表
??????????????? foreach (IMAP_r_u_List l in list)
??????????????? {
??????????????????? //l.ToString();
??????????????? }
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? //ex.Message;
??????????? }
??????????? finally
??????????? {
??????????????? 客戶端.Disconnect();
??????????? }
??????????? return true;
??????? }

轉載于:https://www.cnblogs.com/freedom831215/archive/2010/07/29/1787741.html

總結

以上是生活随笔為你收集整理的C# 接收邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。