Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:28:02
C#教程:电子邮件的接收使用实例

C#教程:电子邮件的接收使用实例|方法

电子邮件的接收

实现电子邮件的接收功能时,首先需要配置POP3服务,步骤如下所示。

(1)首先在“Windosw组件向导”对话框中选中“电子邮件服务”前的复选框,依次单击【下一步】按钮,完成“电子邮件服务”的添加操作。“Windosw组件向导”对话框如图1所示。

(2)当添加完“电子邮件服务”后,打开“管理工具”,这时将会出现一项新的功能“POP3服务”,如图2所示。

(3)双击打开“POP3”服务,添加一个新域(如“126.com”),单击【确定】按钮,如图3所示。



图1 “Windosw组件向导”对话框



图2 “管理工具”窗体



图3 “POP3服务”窗体

(4)当添加完“域”后,选中相应的域,并在指定域内添加邮箱名和密码,然后单击【确定】按钮即可。“添加邮箱”对话框如图4所示。



图4 “添加邮箱”对话框

注意:所有域都在本机上分出一定的空间来存放信息,默认位置为“C:Inetpub mailrootMailbox”。

本示例通过一个基于POP3协议的邮件接收程序来向读者介绍如何使用POP3协议实现电子邮件的接收。

使用POP3协议实现电子邮件接收功能时,首先需要将客户端与服务器进行连接,注意,在客户端连接到服务器之前,应把端口设为POP3协议默认的110号。客户端连接服务器成功后,服务器会显示如图20所示信息。字符+OK是POP3协议的返回信息,它的回应信息只有+OK或者-ERR两个。其中,+OK表示连接成功,而-ERR则表示连接失败。接下来,客户端输入“USER <用户名>”命令,该命令告诉服务器用户的用户名,这里需要注意,有些服务器是区分大小写的。服务器返回+OK后,客户端再输入PASS <口令>,如果用户名与密码都正确,则服务器再次返回+OK同时还返回一些邮箱的统计信息,例如:+OK 4 2071,不同的服务器返回的信息格式不太一样,所以可以用STAT命令来查看邮箱的情况。STAT命令的回应中有两个数字,分别表示邮件的数量和大小。如果信箱里有信,就可以用RETR命令来获取邮件的正文。RETR命令的格式为:RETR <邮件编号>。如果返回结果的第一行是+OK信息,则表示成功,第二行起便是邮件的正文,最后一行和SMTP协议一样,是一个单独的英文句号,表示邮件的结尾部分。实例运行结果如图5和图6所示。

服务器端实现的具体步骤如下所示。

(1)在VS2005项目中添加一个窗体。

(2)在窗体中添加4个TextBox文本框,分别用于获POP3服务器IP地址、登录邮箱名、邮箱密码、读取第几封邮件。

(3)在窗体中添加两个Button按钮和4个Label标签,分别用于激发事件和显示信息。

(4)在窗体中添加一个richTextBox控件,用于显示邮件内容。

(5)程序主要代码。



图5 连接服务器



图6 读取信息

首先添加必要的命名空间,代码如下:

using System.Net.Mail;

using System.IO;

using System.Net;

单击【登录】按钮,程序根据用户名和密码进行登录,如果登录成功,则向服务器发送STAT命令与LIST命令,从而获得邮箱中邮件的数量和大小,最终完成连接。【登录】按钮的Click事件代码如下:

private void button2_Click(object sender, EventArgs e)

{

server = new TcpClient(this.textBox1.Text, 110);


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759