代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
接收邮件
作者:
dezai
/ 发布于
2014/7/28
/
779
System; using System.Text; using System.IO; using Email.POP3; namespace TestPOP3 { class example { [STAThread] static void Main(string[] args) { POP3 objPOP3 = new POP3("pop.163.com", 110, "用户名", "密码"); Console.WriteLine(objPOP3.Connect() ? "Connected" : "Can't connect"); try { if (objPOP3.IsAPOPSupported) { Console.WriteLine(objPOP3.SecureLogin() ? "Secure Logged in" : "Can't login"); } else { Console.WriteLine(objPOP3.Login() ? "Logged in" : "Can't login"); } objPOP3.QueryServer(); Console.WriteLine("Emails count: " + objPOP3.TotalMailCount); //以下的FOR循环是显示出所有收件箱里面的邮件信息 for (int i = 1; i <= objPOP3.TotalMailCount; i++) { EmailMessage objEmail = objPOP3.GetMessage(i, false); // use true to get headers only Console.WriteLine("NEW MESSAGE:------------------"); Console.WriteLine("FROM: " + objEmail.From); Console.WriteLine("TO: " + objEmail.To); Console.WriteLine("CC: " + objEmail.Cc); Console.WriteLine("SUBJECT: " + objEmail.Subject); Console.WriteLine("DATE: " + objEmail.Date); Console.WriteLine("CONTENT-TYPE: " + objEmail.ContentType); Console.WriteLine("CHARSET: " + objEmail.Charset); Console.WriteLine("MESSAGE-ID: " + objEmail.GetCustomHeader("Message-ID")); Console.WriteLine("MESSAGE SIZE: " + objEmail.Size); if (objEmail.IsAnyAttachments) { for (int a = 0; a < objEmail.Attachments.Count; a++) { //调用邮件附件的方法 processAttachment((Attachment)objEmail.Attachments[a], 1); } } else { Console.WriteLine("BODY: " + Encoding.Default.GetString(Convert.FromBase64String(objEmail.Body))); } //下面注册掉的代码是删除该邮件 //objPOP3.DeleteMessage(i); } objPOP3.Close(); } catch (System.Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); objPOP3.Close(); return; } } static void processAttachment(Attachment att, int nesting) { for(int i = 0; i < nesting * 2; i++) Console.Write("-"); //以下注释掉的代码可以打开,以下都是关于邮件附件的相关信息,因为我只需要得到附件的文件信息^_^ //Console.WriteLine("ATT: "); //Console.WriteLine("ContentTransferEncoding: " + att.ContentTransferEncoding); //Console.WriteLine("ContentType: " + att.ContentType); //Console.WriteLine("EstimatedSize: " + att.EstimatedSize); //Console.WriteLine("FileName: " + att.FileName); //processBody("HtmlBody", att.HtmlBody); //processBody("TextBody", att.TextBody); //Console.WriteLine("IsAnyAttachments: " + att.IsAnyAttachments); //Console.WriteLine("IsFileAttachment: " + att.IsFileAttachment); if (att.IsAnyAttachments) { for (int a = 0; a < att.Attachments.Count; a++) { processAttachment((Attachment)att.Attachments[a], nesting * 2); } } if(att.IsFileAttachment) { //这里说一下在保存邮件附件之前必须"c:\pop3"该文件夹是存在的,否则是保存不了的 att.Save(@"c:\pop3" + att.FileName); Console.WriteLine("附件保存成功!附件名称为:" + att.FileName); } } static void processBody(string bodytype, string body) { if (body == null) { Console.WriteLine(bodytype + ": null"); return; } if (body.Length > 1000) { Console.WriteLine(bodytype + ": " + body.Substring(0, 1000) + "..."); } else { Console.WriteLine(bodytype + ": " + body); } }
试试其它关键字
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
dezai
贡献的其它代码
(
1065
)
.
双色球
.
列出所有物理网络适配器
.
快乐数的 Python 实现
.
计算当月还剩天数
.
猜属相
.
二十四小时时钟
.
每日一语
.
很酷的日历
.
超长日历表单
.
最简单的时钟
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3