POP3_Client pop3 = new POP3_Client();
pop3.Connect("mail.fetag.net", , false);
pop3.Authenticate("username", "password", false);
POP3_ClientMessageCollection cmc = pop3.Messages;
foreach (POP3_ClientMessage cm in cmc)
{
byte[] bytes = cm.MessageToByte();
 
Mail_Message m = Mail_Message.ParseFromByte(bytes);
string Subject = m.Subject;
foreach (MIME_Entity entry in m.Attachments)
{
string FileName = entry.ContentDisposition.Param_FileName;
byte[] data = ((MIME_b_SinglepartBase)entry.Body).Data;
FileStream fs = null;
fs = new FileStream(@"d:\" + FileName, FileMode.Create);
fs.Write(data, , data.Length);
fs.Close();
}
} ///////////////
下面是接收邮件的类文件

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using LumiSoft.Net.POP3.Client;
using LumiSoft.Net.Mime;
using System.Collections.Generic;
/// <summary>
/// pop 的摘要说明
/// </summary>
public class pop
{
    public List<Mime> GetEmails()
    {
        //需要首先设置这些信息
        string pop3Server = "";    //邮箱服务器 如:"pop.sina.com.cn";或 "pop.tom.com" 好像sina的比较快
        int pop3Port=110;          //端口号码   用"110"好使。最好看一下你的邮箱服务器用的是什么端口号
        bool pop3UseSsl=false;
        string username="";        //你的邮箱用户名
        string password = "";      //你的邮箱密码
        List<string> gotEmailIds=new List<string>();

List<Mime> result = new List<Mime>();
        using (POP3_Client pop3 = new POP3_Client())
        {
            try
            {
             //与Pop3服务器建立连接
            pop3.Connect(pop3Server, pop3Port, pop3UseSsl);
            //验证身份
            pop3.Authenticate(username, password, false);

//获取邮件信息列表
           POP3_ClientMessageCollection infos = pop3.Messages;

foreach (POP3_ClientMessage info in infos)
            {
                //每封Email会有一个在Pop3服务器范围内唯一的Id,检查这个Id是否存在就可以知道以前有没有接收过这封邮件
                if (gotEmailIds.Contains(info.UID))
                    continue;

//获取这封邮件的内容
                byte[] bytes = info.MessageToByte();
                //记录这封邮件的Id
                gotEmailIds.Add(info.UID);

//解析从Pop3服务器发送过来的邮件信息
                Mime mime = Mime.Parse(bytes);

result.Add(mime);
            }
           }
             catch (Exception ex)
            {
                throw new Exception(ex.Message);
            } 
        }
        return result;
    }
    //public void ShowEmail(Mime m)
    //{
    //    Console.WriteLine("From: {0}", m.MainEntity.From.ToAddressListString());

//    Console.WriteLine("To: {0}", m.MainEntity.To.ToAddressListString());

//    Console.WrtieLine("Time: {0}", m.MainEntity.Date);            //发送时间

//    Console.WriteLine("Subject: {0}", m.MainEntity.Subject);      //主题

//    Console.WriteLine("Plain Body: {0}", m.BodyText);             //内容

//    Console.WriteLine("Html Body: {0}", m.BodyHtml);              //HTML格式内容
    //}

}
下面是调用上面接收类的
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using LumiSoft.Net.Mime;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        pop p = new pop();
        List<Mime> dd = p.GetEmails();        //dd中就可以查找出邮件的内容、主题、发件人等信息。你可以通过调试状态的快速监视查看
         foreach (Mime mdd in dd)
        {
            Page.Response.Write(mdd.MainEntity.Date +
"<br><br>");    //发送时
间          Page.Response.Write(mdd.MainEntity.Subject +
"<br><br>"); //主题
            Page.Response.Write(mdd.BodyText + "<br><br>");           //内容
        }
                                              //因为时间关系没有写完明天待续。。。
    }
}

pop3的更多相关文章

  1. Android pop3与imap方式接收邮件(javamail)

    需要下载3个jar包:mail.jar/    activation.jar/    additionnal.jar 1.pop3 /** * 以pop3方式读取邮件,此方法不能读取邮件是否为已读,已 ...

  2. 常用邮件服务器名(POP3,SMTP地址)

    POP3服务器地址:pop3.sina.com.cn(端口:110)SMTP服务器地址:smtp.sina.com.cn(端口:25) sina.cn: POP3服务器地址:pop3.sina.com ...

  3. 企业邮箱在Android(安卓)系统手机上POP3/IMAP协议的设置方法

    此处以三星(系统版本4.4.2)为例,介绍下使用安卓系统自带的客户端如何设置pop/imap协议方式方法 以下我们将使用test@zhuyuming.so 为测试案例,请您操作时更换成您自己的邮箱账号 ...

  4. C#基础--基于POP3协议的邮件接收和基于STMP的邮件发送

    最近在用outlook同步邮件.对邮件协议有一点兴趣.于是就去收集了一些资料,学习了一下如何通过.net来实现邮件的收发.    一:SMTP协议  1.什么是SMTP协议:       SMTP目前 ...

  5. 常用邮箱的服务器(SMTP/POP3)地址和端口总结

    163.com: POP3服务器地址:pop.163.com(端口:110) SMTP服务器地址:smtp.163.com(端口:25) 126邮箱: POP3服务器地址:pop.126.com(端口 ...

  6. VC 解密OUTLOOK pop3保存注册表密码

    原文连接:https://forum.90sec.org/forum.php?mod=viewthread&tid=8410 作者:Agile 用过OUTLOOK的人都知道,OUTLOOK的密 ...

  7. 使用smtp和pop3 协议收发qq邮箱实验

    email系统组件:MTA 消息传输代理,负责邮件的路由,队列和发送SMTP 简单邮件传输协议1 连接到服务器2 登陆3 发出服务请求4 退出POP:邮局协议RFC918 "邮局协议的目的是 ...

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

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

  9. 一个基于POP3协议进行邮箱账号验证的类

    最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...

  10. 物联网-手机远程控制家里的摄像头(2) - POP3和SMTP的C语言精简实现

    在上一篇博客里面,使用了Python来发送.接收mail,但是实际测试中出现了一些不稳定的 情况,而且Python和即将使用的opencv会不兼容,使用进程间通讯或者其他方法会让整个系统 显得复杂而且 ...

随机推荐

  1. Linux C 程序 空语句-gcc编译命令(SIX)

    C语言语句1.空语句:当一个if或者while判断部分能完成工作,空语句可以用来表示if或者while内的空循环体 if(a == b ); 2.gcc编译器 //程序的编译过程: // 预处理:pr ...

  2. Win7 钩子 超时 失效

    这段时间在程序中,使用了全局钩子,但是在测试时发现,会偶尔失效. 在网上搜索到了这两篇文章: VC底层钩子程序在Win7/Vista下无效 Hooking problem in Windows 7 这 ...

  3. Python 基础篇:编码、变量、模块

    1. 编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASCII). 2. 变量 变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数 ...

  4. Python prettytable的使用方法

    Python prettytable的使用方法 prettytable可以整齐地输出一个表格信息: +-----------+------+------------+----------------- ...

  5. ctrl+c关闭多线程python程序

    项目中经常需要用到多线程,如果一个python程序用了多线程,当子线程没有结束时,用ctrl+c是关闭不了主线程的,这时候就只能用kill命令杀掉,这样会很麻烦. 所以探讨了下怎么ctrl+C关闭多线 ...

  6. java学习--抽象类与接口

    一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...

  7. CODEVS 3286 火柴排队

    [题目描述 Description] 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为: ,其中 ai表示 ...

  8. [转载]C#图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标

    using System; using System.Drawing; using System.Windows.Forms; using System.IO; namespace ICOTest { ...

  9. nginx 配置的server_name参数(转)

    转自:http://www.sklinux.com/373 nginx中的server_name指令主要用于配置基于名称虚拟主机. 一 匹配顺序,server_name指令在接到请求后的匹配顺序如下: ...

  10. TSS 任务状态段

    TSS(任务状态段) 1 什么是TSS TSS 全称task state segment,是指在操作系统进程管理的过程中,任务(进程)切换时的任务现场信息.  2 TSS工作细节 TSS在任务切换过程 ...