qq网站登录,站长工具网址查询,兰州又要封城了,wordpress菜单分级一直想做一个Web版的OutLook#xff0c;所以才萌生这个想法#xff0c;其实以前也接触过这方面的东西。于是上网找了找#xff0c;漫天的都是Jmail来接收#xff0c;好吧#xff0c;既然大家都在用我也就下载下来试试了。 什么#xff0c;怎么总是报错呢#xff1f;原来…一直想做一个Web版的OutLook所以才萌生这个想法其实以前也接触过这方面的东西。于是上网找了找漫天的都是Jmail来接收好吧既然大家都在用我也就下载下来试试了。 什么怎么总是报错呢原来才发现要找破解版的又XXX找到了一个Jmail4.4的破解版终于要进入正题了看着蛮简单的照着文档敲了代码上去断点运行一看。哟还真可以了逐步断点继续跟踪我X怎么标题什么的都是乱码。后面找到POP协议看了下然后是因为编码问题。 好吧既然是编码就能解码吧从JMail中获取邮件源码后过来解码…………………………一个痛苦而又漫长的过程最终还是失败了其中原因就不细说了反正最终出来的效果还是有点问题内容还是会乱码附件会是空的内嵌的图片显示不了等各种问题。 好吧哥执着着想找找别的方法于是终于发现了一个“神器”【Aspose.Network】这个是要收费的找了好久才找了一个可以使用的版本过来这个组件集成了蛮多功能的貌似现在的新版本已经把邮件这个单独剥离出来了但是新版的貌似还是会有乱码问题于是还是使用这个吧。 注此文只做练习只用请不要用于商业用途。 其实无非就是需要拿到邮件服务器上的邮件标题、内容、附件、发件人什么的这个组件中都已经提供了使用非常方便。 好吧下面开始讲解下具体怎么弄吧 1、建立连接 1 //建立连接 Pop3Client(邮件POP端口用户名密码)
2 Pop3Client Pop3 new Pop3Client(Request.Form[pop], 110, Request.Form[user], Request.Form[pass]);
3 Pop3.Connect(true);//连接并且登录 2、获取所有邮件开始遍历并且获取详细信息 1 int MessageCount Pop3.GetMessageCount();//获取目标邮箱所有邮件数量2 3 //循环获取单个邮件信息 4 for (int i 1; i MessageCount; i)5 {6 Mail ModelMail new Mail();//单条邮件实体7 //获取单条邮件8 MailMessage MailMsg Pop3.FetchMessage(i);9 string MessageID Pop3.GetMessageUniqueId(i);//邮件唯一ID
10 ModelMail.Date MailMsg.Date;//发送时间
11 ModelMail.Subject MailMsg.Subject;//主题
12 ModelMail.Body MailMsg.HtmlBody;//内容
13 for (int j 0; j MailMsg.To.Count; j)//收件人
14 {
15 ModelMail.To MailMsg.To[j].Address ;;
16 ModelMail.ToName MailMsg.To[j].DisplayName lt; MailMsg.To[j].Address ;
17 }
18 for (int j 0; j MailMsg.CC.Count; j)//抄送
19 {
20 ModelMail.CC MailMsg.CC[j].Address ;;
21 ModelMail.CCName MailMsg.CC[j].DisplayName lt; MailMsg.CC[j].Address ;
22 }
23 for (int j 0; j MailMsg.From.Count; j)//发送人
24 {
25 ModelMail.From MailMsg.From[j].Address ;;
26 ModelMail.FromName MailMsg.From[j].DisplayName lt; MailMsg.From[j].Address ;
27 }
28 AttachmentCollection Att MailMsg.Attachments;//获取附件
29 string path string.Empty;
30 foreach (var list in Att)
31 {
32 path Server.MapPath(/Att/ MessageID /);
33 if (!System.IO.Directory.Exists(path))
34 {
35 Directory.CreateDirectory(path);
36 }
37 list.Save(path list.Name);
38 ModelMail.Att list.Name ;;
39 }
40 LinkedResourceCollection MailLink MailMsg.LinkedResources;//内嵌附件
41 foreach (var list in MailLink)
42 {
43 if (string.IsNullOrEmpty(list.Name))
44 continue;
45 string ContentId list.ContentId;
46 path Server.MapPath(/Att/ MessageID /);
47 if (!System.IO.Directory.Exists(path))
48 {
49 Directory.CreateDirectory(path);
50 }
51 list.Save(path list.Name);
52 ModelMail.Body ModelMail.Body.Replace(cid: ContentId, /Att/ MessageID / list.Name);//替换内容中的内嵌附件
53 }
54 ListMail.Add(ModelMail);
55 //删除服务器上的原始邮件
56 //Pop3.DeleteMessage(i);
57 }
58 //断开链接
59 Pop3.Disconnect(); 其实就只有这么多代码就可以实现所有功能了邮件拿过来后就可以把邮件服务器上的邮件删掉了OutLook等都是这么操作然后可以存储到你本地的数据库中进行一系列操作就可以差不多跟OutLook一样了省略N个字这篇就介绍下收邮件吧发邮件就简单了.NET自带就有发件的类库如果有下章就会提下作者是怎么发送邮件的包括选择发送人附件等一系列操作。 好吧大家期待的源码这里可以提供下载的。 点击下载转载于:https://www.cnblogs.com/jiangbiao/archive/2012/08/29/2662437.html