在C#中如何在客户端接收信件

一、创建界面

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

类型

对象名

Text属性

Label

Label1

Label

Label2

用户名:

Label

Label3

密码

TextBox

TextBox1

TextBox

TextBox2

Button

Button1

接收

Button

Button2

退出

当发送的验证通过Label1的text属性就会显示成功的消息

当发送的验证没有通过Label1的text属性就会显示失败的消息

二、显示代码

1.在代码前端添加代码

using System.Threading;

using System.Net;

using System.Net.Sockets;

using System.IO;

2.添加字段代码

private TcpClient mailclient;

private NetworkStream ns;

private StreamReader sr;

private StreamWriter sw;

3.双击“接收”按钮

private void Button1_Click(object sender, System.EventArgs e)

{

login();

}

private int login()

{

string m_response; //从服务器返回的信息变量

int totmessages;  //指明在你的邮箱中有几封

try

{

//连接服务器,其中第一参数代表服务器地址,第二参数代表pop3的端口数

mailclient=new TcpClient("pop.163.com",110);

}

catch(Exception e)

{

Label1.Text="error";//服务器连接失败

return 2;

}

ns=mailclient.GetStream();//返回服务器字节流

sr=new StreamReader(ns);

sw=new StreamWriter(ns);

m_response=sr.ReadLine();//读取服务器字节流字符

//发送用户名给服务器

sw.WriteLine("User "+TextBox1.Text);

sw.Flush();

//验证用户名是否正确

m_response=sr.ReadLine();

if(m_response.Substring(0,3)=="-ER")

{

Label1.Text="User error";//用户连接失败

return 2;

}

//发送密码给服务器

sw.WriteLine("Pass "+TextBox2.Text);

sw.Flush();

try

{

//验证密码是否正确

m_response=sr.ReadLine();

}

catch(Exception e)

{

Label1.Text="Password error";//密码连接失败

return 2;

}

if(m_response.Substring(0,4)=="-ERR")

{

Label1.Text="Password error";//密码错误

return 2;

}

sw.WriteLine("Stat");//执行pop3权限检查命令

sw.Flush();

m_response=sr.ReadLine();

string[] nummess=m_response.Split(' ');

totmessages=Convert.ToInt16(nummess[1]);//获取服务器中有几封信件

if(totmessages>0)

{

Label1.Text="you have "+totmessages+" messages";

}

else

{

Label1.Text="you have no messages";

}

return 1;

}

4.双击“退出”按钮

private void Button2_Click(object sender, System.EventArgs e)

{

if(ns!=null)

{

sw.Close();

sr.Close();

ns.Close();

mailclient.Close();

}

}

注意点:

Stat代表权限检查命令,如果要得到标题和发件人信息要用top执行命令,要得到文本信息要用retr执行命令,这些内容还需我总结一下,我在下个礼拜会详细介绍。

在星期四我写了一篇关于“在C#中如何发送信件”的文章写的不怎么样,因此今天我另外写了篇“在C#中如何接收信件”,在下个礼拜我会总结在C#中整个发送Email和接收Email的基本内容请大家光顾咯谢谢

在C#中如何在客户端接收信件相关推荐

  1. 根据镜像安装oracle插件,docker镜像alpine中安装oracle客户端

    1.背景 有项目需使用python连接oracle数据库,然后查询一些数据进行分析.在安装oracle客户端驱动过程中遇到了一些问题,在此记录下来分享读者. 一点限制: oracle数据库与本应用程序 ...

  2. 请教如何改善C#中socket通信机客户端程序的健壮性

    请教如何改善c#中socket通信机客户端程序的健壮性 我是做socket的新手,最近做了一个socket客户端程序,连接server的时候,如果server存在,并且允许连接的话,程序无错,正常执行 ...

  3. Qt中的TCP客户端编程

    文章目录 1 Qt中的TCP客户端编程 1.1 TCP客户端编程介绍 1.2 QTcpSocket的同步编程 1.3 QTcpSocket的异步编程 1 Qt中的TCP客户端编程 1.1 TCP客户端 ...

  4. 工作组环境中配置WSUS客户端

    11.3工作组环境中配置WSUS客户端 由于WSUS的目的是为Windows 客户端提供更新,因此任何Windows操作系统都可以从WSUS服务器下载更新,但是需要通过组策略进行配置.早期版本的Win ...

  5. [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端

    文章翻译自 http://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-clien ...

  6. 在 Openwrt Chaos Calmer 中配置PPTP客户端

    2019独角兽企业重金招聘Python工程师标准>>> 配置PPTP客户端可参考"OpenWrt中设置PPTP客户端和IPv6". PPTP客户端需要两个内核模块 ...

  7. 电信网管中的Java客户端(二)

    电信网管中的Java客户端(二)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&quo ...

  8. 电信网管中的Java客户端(一)

    电信网管中的Java客户端(一) 1.概述 Java,尤其是J2EE技术,在网络管理系统中的应用已经比较普遍.很多公司都将自己的新一代网络管理产品构建在J2EE技术平台之上,以便实现大型网络管理系统的 ...

  9. Mapxtreme中的胖客户端、瘦客户端及中型客户端介绍

    /***********本人原创,欢迎转载,转载请保留本人信息*************/ 作者:wallimn 电邮:wallimn@sohu.com 博客:http://wallimn.bokee ...

最新文章

  1. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、xgboost模型预测推理并使用混淆矩阵评估模型、可视化模型预测的概率分布
  2. 通过反射获取及调用方法(Method)
  3. 广州富力再引强援 95后潜力中锋桂宏加盟球队
  4. dycom游戏抽象空间框架正式版(alpha1.0)
  5. UNIX系统编程(2)
  6. 甲骨文:正在从SAP手中赢得应用产品市场份额
  7. Nacos注册中心的部署与用法详细介绍
  8. cf1557 C. Moamen and XOR
  9. 【全观测系列】Elasticsearch应用性能监控实践
  10. java中get接口示例_Java即时类| 带示例的get()方法
  11. 京东与中国石化全面深化战略合作 涉及能源供应服务等
  12. 无法确定当前的订阅失效日期_无法启动电脑0x0000605错误怎么办
  13. postman在线测试_如何选择适合自己的自动化测试工具?
  14. python哪个国家的品牌_Python之初识Web,打造属于你的个人品牌!
  15. OpenCV——Sobel和拉普拉斯变换
  16. 招标采购专业实务课程大纲--刘小明老师
  17. 安装vs 2015 社区版
  18. 漫画聚合阅读器Tachidesk
  19. 注册Google账号
  20. 管理信息系统复试——三、管理信息系统战略规划与开发方法

热门文章

  1. 慕课网_《Java微信公众号开发进阶》学习总结
  2. python3.6安装版本选择
  3. spark mllib 预测之LinearRegression(线性回归)
  4. docker高级应用之赋予容器独立外网ip
  5. 使用Keil MDK以及标准外设库创建STM32工程
  6. Delphi - 使用字符串时,一个注意地方
  7. office 2007 验证失败的解决方法
  8. jquery_jquery插件、jqueryUI使用方法、自定义jquery插件(一个插件其实就是一个功能)...
  9. 13岁女孩因发布JavaScript无限循环代码被捕
  10. ONES 万事联合创始人 amp; CTO 冯斌:企业服务产品的探索实践