1、设置邮件的pop3

以163网易邮箱为例:

https://jingyan.baidu.com/article/adc81513804be9f722bf7350.html

2、下载OpenPop.dll

官网下载地址:http://sourceforge.net/projects/hpop/

3、读取设置pop3邮箱的所有邮件内容:

 public class Pop3Helper
{
public static void ReadPop3()
{
using (Pop3Client client = new Pop3Client())
{
if (client.Connected)
{
client.Disconnect();
} // Connect to the server, false means don't use ssl
client.Connect("pop3.163.com", , false); // Authenticate ourselves towards the server by email account and password
client.Authenticate("xxx@163.com", "pop3授权码"); //email count
int messageCount = client.GetMessageCount(); for (int i = ; i <= messageCount; i++)
{
Message message = client.GetMessage(i); NameValueCollection customHeaders = message.Headers.UnknownHeaders;
string sender = message.Headers.From.DisplayName;
string from = message.Headers.From.Address;
string subject = message.Headers.Subject;
DateTime Datesent = message.Headers.DateSent; MessagePart messagePart = message.MessagePart; GetCustomInfo(customHeaders); //email body
string body = " ";
if (messagePart.IsText)
{
body = messagePart.GetBodyAsText();
}
else if (messagePart.IsMultiPart)
{
MessagePart plainTextPart = message.FindFirstPlainTextVersion();
MessagePart htmlTextPart = message.FindFirstHtmlVersion();
if (htmlTextPart != null)
{ body = htmlTextPart.GetBodyAsText();
} if (plainTextPart != null)
{ body = plainTextPart.GetBodyAsText();
}
else
{
List<MessagePart> textVersions = message.FindAllTextVersions();
if (textVersions.Count >= )
body = textVersions[].GetBodyAsText();
else
body = "<<OpenPop>> Cannot find a text version body in this message.";
}
} } }
} //获取自定义字段内容
private static void GetCustomInfo(NameValueCollection col)
{
if (col != null && col.Count > )
{
foreach (var cHeaderKey in col.AllKeys)
{
switch (cHeaderKey)
{
case "X-CamId":
Console.WriteLine(string.Format("CamId:{0}", col[cHeaderKey]));
break;
case "X-SubId":
Console.WriteLine(string.Format("SubId:{0}", col[cHeaderKey]));
break;
case "X-UserId":
Console.WriteLine(string.Format("UserId:{0}", col[cHeaderKey]));
break;
default:
break;
} } }
}
}

使用OpenPop.dll开发读取POP3邮件程序的更多相关文章

  1. 使用C#和OpenPop.dll开发读取POP3邮件程序

    制作一个ASP.NET MVC4论坛项目,该项目需要将以往十多年的Mail List(邮件列表)内容都导入到新的论坛中,因此需要能够将邮件的标题.发布时间.发布人及邮件内容导入到论坛的数据库内..Ne ...

  2. C#邮件接收系统核心代码(接收POP3邮件IMAP邮件)

    /* * Created by SharpDevelop. * User: Administrator * Date: 2013/11/18 * Time: 20:55 * * To change t ...

  3. 无法启动此程序,因为计算机中丢失AdbWinApi.dll。尝试重新安装该程序以解决此问题

    第一次搭建android开发环境,装完adb以后,打开DOS验证安装是否成功:但输入adb logcat调试时,系统弹出以下异常的对话框: 无法启动此程序,因为计算机中丢失AdbWinApi.dll. ...

  4. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...

  5. 开发安全的Web程序

    目录0x1:什么是安全的Web应用程序0x2:过滤输入的数据0x3:转义输出的数据0x4:Register Globals0x5:magic_quotes_gpc0x6:错误信息的报告0x7:文件的安 ...

  6. NET Core开发-读取配置文件Configuration

    ASP.NET Core开发-读取配置文件Configuration   ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NE ...

  7. 部署到Linux使用VS Code 开发.NET Core 应用程序

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NE ...

  8. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  9. Unity用Excel.dll简单读取Excel内容

    Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...

随机推荐

  1. threejs学习笔记(二)

    THREE.WebGLRenderer THREE.Scene THREE.OrthographicCamera正交相机 THREE.PerspectiveCamera透视相机 renderer.se ...

  2. 好程序员技术教程分享JavaScript运动框架

    好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...

  3. MAX

    Max的用法1(Min类似) Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一 ...

  4. 外部访问docker中的MySQL

    注:192.168.1.203机器上装有docker,容器在该机器上 mysql> use mysql; mysql> update user set authentication_str ...

  5. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  6. visual studio 各版本激活码

    visual studio 各版本 激活码 版本 产品型号 激活码 vs2019 Enterprise(企业版) BF8Y8-GN2QH-T84XB-QVY3B-RC4DF vs2019 Profes ...

  7. PostgreSql扩展Sql-动态加载共享库(C函数)

    基于 psql (PostgreSQL) 10.4 pg_language表定义了函数实现所使用的语言.主要支持了C语言和SQL语句.一些可选的语言包括pl/pgsql.tcl和perl. ligan ...

  8. docker 小技巧 列出所有容器的IP地址

    命令如下: [root@localhost ~]# docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{ ...

  9. 小程序——阿里服务器配置https及什么是IIS

    1.申请域名:阿里云 2.免费开启SSL证书:管理=>免费开启SSL证书>单域名>dev.xxx.top 3.配置服务器:下载=>IIS7证书 *注册一个域名,可以免费开启一个 ...

  10. Null value was assigned to a property of primitive type setter of com.oa.manager.personnel.bean.KqAttendanceHoliday.dayType

    问题: 解决方法:依据提示,把 int 修改为Integer解决. 总结: javaBean最好不要使用基本类型(记得某规范说过,具体不记得了,估计就是预防这样的问题吧)