pop3
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的更多相关文章
- Android pop3与imap方式接收邮件(javamail)
需要下载3个jar包:mail.jar/ activation.jar/ additionnal.jar 1.pop3 /** * 以pop3方式读取邮件,此方法不能读取邮件是否为已读,已 ...
- 常用邮件服务器名(POP3,SMTP地址)
POP3服务器地址:pop3.sina.com.cn(端口:110)SMTP服务器地址:smtp.sina.com.cn(端口:25) sina.cn: POP3服务器地址:pop3.sina.com ...
- 企业邮箱在Android(安卓)系统手机上POP3/IMAP协议的设置方法
此处以三星(系统版本4.4.2)为例,介绍下使用安卓系统自带的客户端如何设置pop/imap协议方式方法 以下我们将使用test@zhuyuming.so 为测试案例,请您操作时更换成您自己的邮箱账号 ...
- C#基础--基于POP3协议的邮件接收和基于STMP的邮件发送
最近在用outlook同步邮件.对邮件协议有一点兴趣.于是就去收集了一些资料,学习了一下如何通过.net来实现邮件的收发. 一:SMTP协议 1.什么是SMTP协议: SMTP目前 ...
- 常用邮箱的服务器(SMTP/POP3)地址和端口总结
163.com: POP3服务器地址:pop.163.com(端口:110) SMTP服务器地址:smtp.163.com(端口:25) 126邮箱: POP3服务器地址:pop.126.com(端口 ...
- VC 解密OUTLOOK pop3保存注册表密码
原文连接:https://forum.90sec.org/forum.php?mod=viewthread&tid=8410 作者:Agile 用过OUTLOOK的人都知道,OUTLOOK的密 ...
- 使用smtp和pop3 协议收发qq邮箱实验
email系统组件:MTA 消息传输代理,负责邮件的路由,队列和发送SMTP 简单邮件传输协议1 连接到服务器2 登陆3 发出服务请求4 退出POP:邮局协议RFC918 "邮局协议的目的是 ...
- 使用C#和OpenPop.dll开发读取POP3邮件程序
制作一个ASP.NET MVC4论坛项目,该项目需要将以往十多年的Mail List(邮件列表)内容都导入到新的论坛中,因此需要能够将邮件的标题.发布时间.发布人及邮件内容导入到论坛的数据库内..Ne ...
- 一个基于POP3协议进行邮箱账号验证的类
最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...
- 物联网-手机远程控制家里的摄像头(2) - POP3和SMTP的C语言精简实现
在上一篇博客里面,使用了Python来发送.接收mail,但是实际测试中出现了一些不稳定的 情况,而且Python和即将使用的opencv会不兼容,使用进程间通讯或者其他方法会让整个系统 显得复杂而且 ...
随机推荐
- dd命令测试linux磁盘读写速度
1.先熟悉两个特殊的设备: (1)/dev/null:回收站.无底洞. (2)/dev/zero:产生字符. 2.测试磁盘写能力 time dd if=/dev/zero of=/t ...
- centos coreseek 快速安装
CoreSeek快速安装: 安装前,建议查看:源码包说明README:4.0/4.1版可参考3.2版本安装,步骤相同:如遇到问题,请看详细安装说明. ##下载coreseek:coreseek 3.2 ...
- 转载:mysql 对于百万 千万级数据的分表实现方法
一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法.目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是 ...
- JavaScript 对象的几种创建方法
/** * Created by 2016 on 2016/6/4. */ function Box(){ var obj = new obj(); obj.name = "Lee" ...
- centos 6.5 x64编译有python的vim7.4
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gzwget ftp://ftp.vim.org/pub/vim/extra/vim-7. ...
- hdu 2844 poj 1742 Coins
hdu 2844 poj 1742 Coins 题目相同,但是时限不同,原本上面的多重背包我初始化为0,f[0] = 1;用位或进行优化,f[i]=1表示可以兑成i,0表示不能. 在poj上运行时间正 ...
- BZOJ 4029 [HEOI 4029] 定价 解题报告
这个题好像也是贪心的感觉.. 我们枚举 $1,5,10,50,100,\dots$ ,找出在 $[l, r]$ 内能整除它们的最小的数. 然后找到其中在荒谬值最小的情况下数值最小的那个数, 就做完了. ...
- static和const
转自说出static和const关键字尽可能多的作用 static关键字至少有下列n个作用: 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次 ...
- Spring+MyBatis实践—中文乱码
多种中文乱码问题及解决: jsp页面乱码 表单提交乱码 URL中文参数乱码 1.jsp页面乱码解决(2步): 新建jsp页面: <%@ page language="java" ...
- 1920-Jangbi的Rush
描述 最后一届的OSL决赛由神族的Jangbi对阵人族Fantasy.Jangbi5BG爆叉叉准备一波rush,但是范特西早有防备,在地图上埋下了许多地雷.但是Jangbi显然不是毕姥爷那样的无脑平A ...