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/yexinw/archive/2012/03/09/2387650.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377674.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HDU- 1754 I Hate It

http://acm.hdu.edu.cn/showproblem.php?pid1754 記住那讓自己wa的地方。 I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 29300 Accepted Submission(s): 11615 Problem Description很多學校流行…

mcq 隊列_MCQ | 軟件生命周期模型

mcq 隊列Q1. Which of the following models is best suited when the requirements of the software are not decided and also the user is not sure about how he wants the user interface to look like? Q1。 當不確定軟件的需求并且用戶不確定自己希望用戶界面看起來如何…

十、紡織品庫存管理系統全部功能展示

一、系統主頁面—Form1 系統運行加載頁面&#xff0c;主要包含三個功能&#xff0c;①登錄、②注冊、③退出系統 程序運行圖&#xff1a; 登錄功能&#xff0c;跳轉到登錄頁面 注冊功能&#xff0c;跳轉到注冊頁面 退出系統&#xff0c;程序結束運行 代碼如下&#xff1a; …

leetcode 376. 擺動序列 思考分析

目錄題目思路分析代碼總結題目 如果連續數字之間的差嚴格地在正數和負數之間交替&#xff0c;則數字序列稱為擺動序列。第一個差&#xff08;如果存在的話&#xff09;可能是正數或負數。少于兩個元素的序列也是擺動序列。 例如&#xff0c; [1,7,4,9,2,5] 是一個擺動序列&am…

[EF在VS2010中應用Entity framework與MySQL

在VS2010中應用Entity framework與MySQL 羅朝輝 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商業用途-保持一致”創作公用協議本文講述了在VS2010中使用EF與MySQL的一個簡單示例。 工具安裝&#xff1a; 1&#xff0c;MySQL MySQL Community Server Connector/NET 6…

c++ cdi+示例_C ++“和”關鍵字示例

c cdi示例"and" is an inbuilt keyword that has been around since at least C98. It is an alternative to && (Logical AND) operator and it mostly uses with the conditions. “ and”是一個內置關鍵字&#xff0c;至少從C 98起就存在。 它是&&am…

Python上個手

Python&#xff0c;由吉多范羅蘇姆&#xff08;Guido van Rossum&#xff09;在1989打發圣誕節放假時間的一門“課余”編程項目&#xff0c;至今已有二十多年的歷史&#xff0c;語法簡潔清晰&#xff0c;深受喜愛&#xff1b; 小窺 # 查看版本 python -V # 輸出 print "he…

十、美化界面

一、背景圖片 二、透明化處理 BackColor—web—Transparent 三、數據庫建表語句 數據庫 USE [fiber_yy] GO /****** Object: Table [dbo].[yy_user_record] Script Date: 06/20/2022 18:54:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADD…

如何寫出優美的代碼(二)

&#xff08;本文思想基本來自于經典著作《重構》一書&#xff09; 上一篇 http://www.cnblogs.com/ceys/archive/2012/03/05/2379842.html#commentform 上一篇文章主要講了怎么給函數整容。現在我們大家基本上都使用面向對象語言&#xff0c;什么樣的“對象”才是優美的呢&…

轉:鏈表相交問題 詳解

源地址&#xff1a;http://blog.163.com/bbluesnow126/blog/static/27784545201251051156817/ 鏈表相交問題 2012-06-10 17:15:37| 分類&#xff1a; 算法 | 標簽&#xff1a;微軟面試題 |字號 訂閱 1、如何判斷一個單鏈表有環 2、如何判斷一個環的入口點在哪里 3、如何知…

VS 如何修改C++編譯標準

第一步&#xff0c;打開項目資源管理器的屬性頁面 第二步&#xff0c;選擇配置屬性->C/C>語言->C語言標準 第三步&#xff0c;選擇合適的標準&#xff0c;一般來說選最新即可

維吉尼亞密碼和一次性密碼本_密碼學中的一次性密碼

維吉尼亞密碼和一次性密碼本The One-time Pad cipher is almost similar to the Vernam cipher, as, like the vernam cipher, this cipher technique also encrypts the plain text by working on the binary level of the text. The only difference between the two is that…

十一、紡織面料下架功能的實現

一、數據庫 數據庫仍用yy_textile表&#xff0c;前幾篇博文都敘述過這里就不再敘述 在fiber_yy數據庫下創建yy_textile表 初始數據庫信息 二、頁面 admin_undercarriage 三、代碼實現 admin_undercarriage using System; using System.IO; using System.Data; using S…

svg和canvas的應用場景分析【轉載】

原文地址&#xff1a;http://blogs.msdn.com/b/weizhong/archive/2011/07/16/canvas-svg.aspx 思考什么時候使用Canvas 和SVG wzhong 15 Jul 2011 9:07 PM 0HTML5 Canvas 和 SVG 是 IE9 中引入的兩項令人激動的圖形功能。上周在拉斯維加斯舉辦的 MIX11 大會對這兩個功能進行了介…

【C++grammar】文件系統以及path類使用

目錄1.文件系統概述1、關于路徑2、如何將某個路徑下的所有文件遞歸地找出來&#xff1f;2.路徑類及操作1、path類的成員函數2、path類的非成員函數示例1&#xff1a;展示C17中的path對象的用法示例2&#xff1a;展示Path類中用于分解路徑成分的函數示例3&#xff1a;展示path相…

scala hashmap_如何在Scala中將Hashmap轉換為Map?

scala hashmapLets first understand what are maps and hashmaps? 首先讓我們了解什么是map和hashmap &#xff1f; map in Scala is a collection that stores its elements as key-value pairs, like a dictionary. Scala中的map是一個集合&#xff0c;將其元素存儲為鍵值…

十二、所有功能實現效果演示

一、系統項目架構 Ⅰ&#xff0c;fiber_yy數據庫下有五張表 yy_admin&#xff1a;管理員登錄賬號和密碼 yy_textile&#xff1a;紡織面料數據信息 yy_textile_record&#xff1a;用戶購買紡織面料信息所存儲的面料流水信息 yy_user&#xff1a;用戶登錄注冊信息 yy_user_reco…

行業軟件之PTV微觀軟件VISSIM4.3 5.0 5.1 5.2 5.3 5.4下載和相關資料

他是干什么的&#xff1a;http://baike.baidu.com/view/3656765.htm 中國代理銷售的公司的網址&#xff1a;辟途威交通科技(上海)有限公司 官網&#xff1a;http://www.ptvchina.cn/ 看看視頻中軟件的運行效果&#xff1a;http://v.youku.com/v_show/id_XMzExMjg1MDEy.html 如何…

一、單個神經元網絡構建

一、本人使用編譯器為Jupyter Notebook&#xff0c;tensorflow版本為1.13.1 import tensorflow as tf print(tf.__version__) """ 1.13.1 """二、訓練單個神經元網絡 x為-1.0, 0.0, 1.0, 2.0, 3.0, 4.0 y為-3.0, -1.0, 1.0, 3.0, 5.0, 7.0 人用…

ruby 生成隨機字符串_Ruby程序生成隨機數

ruby 生成隨機字符串產生隨機數 (Generating random number) The task is to generate and print random number. 任務是生成并打印隨機數。 Generating random numbers means that any number can be provided to you which is not dependent on any pre-specified condition…