c#读取邮件实例源码

上传人:第*** 文档编号:38800790 上传时间:2018-05-08 格式:DOC 页数:5 大小:35KB
返回 下载 相关 举报
c#读取邮件实例源码_第1页
第1页 / 共5页
c#读取邮件实例源码_第2页
第2页 / 共5页
c#读取邮件实例源码_第3页
第3页 / 共5页
c#读取邮件实例源码_第4页
第4页 / 共5页
c#读取邮件实例源码_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《c#读取邮件实例源码》由会员分享,可在线阅读,更多相关《c#读取邮件实例源码(5页珍藏版)》请在金锄头文库上搜索。

1、using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; /添加的命名空间引用using System.Net; using System.Net.Sockets; using System.IO;/源码下载 namespace ReceiveMailExample public partial class FormRecei

2、veMail : Formprivate string pop3Server;private TcpClient tcpClient;private NetworkStream networkStream;private StreamReader sr;private StreamWriter sw;public FormReceiveMail()InitializeComponent();/单击建立连接按钮触发的事件private void buttonConnect_Click(object sender, EventArgs e)/设置鼠标光标为等待状态Cursor.Current =

3、Cursors.WaitCursor;tryint index = textBoxUser.Text.IndexOf();/大部分 pop3 服务器都加前缀 pop3.,这里仅获取这种服务器/对不以 pop3.为前缀的这个例子未进行处理pop3Server = “pop3.“ + textBoxUser.Text.Substring(index + 1);/建立与 POP3 服务器的连接,使用默认端口 110tcpClient = new TcpClient(pop3Server, 110);listBoxStatus.Items.Add(“与 pop3 服务器连接成功“);catchMess

4、ageBox.Show(“与服务器连接失败“);return;string str;listBoxStatus.Items.Clear();/获取 Networkstream 对象,以便通过建立好的连接发送和接收数据networkStream = tcpClient.GetStream();/得到读对象,并查找字节顺序标记,防止显示乱码sr = new StreamReader(networkStream);/得到写对象sw = new StreamWriter(networkStream);/读取服务器回送的连接信息if (ReadDataFromServer() = null) retur

5、n;/向服务器发送用户名,请求确认if (SendDataToServer(“USER “ + textBoxUser.Text) = false) return;if (ReadDataFromServer() = null) return;/向服务器发送密码,请求确认if (SendDataToServer(“PASS “ + textBoxPassword.Text) = false) return;/51-a-s-p-xif (ReadDataFromServer() = null) return;/向服务器发送 STAT 命令,请求获取邮件总数和总字节数if (SendDataToS

6、erver(“LIST“) = false) return;if (str = ReadDataFromServer() = null) return;string splitString = str.Split( );/从字符串中取子串获取邮件总数int count = int.Parse(splitString1);/判断邮箱中是否有邮件if (count 0)/设置对应状态信息buttonRead.Enabled = true;buttonDelete.Enabled = true;listBoxOperation.Items.Clear();groupBoxOperation.Text

7、 = “信箱中共有 “ + splitString1 + “ 封邮 件“;/向邮件列表框中添加邮件for (int i = 0; i count; i+)if (str = ReadDataFromServer() = null) return;splitString = str.Split( );listBoxOperation.Items.Add(string.Format(“第0封邮件,1字节“, splitString0, splitString1);listBoxOperation.SelectedIndex = 0;/读出结束符if (str = ReadDataFromServe

8、r() = null) return;elsegroupBoxOperation.Text = “信箱中没有邮件“;buttonRead.Enabled = false;buttonDelete.Enabled = false;buttonConnect.Enabled = false;buttonDisconnect.Enabled = true;/设置鼠标光标为默认光标Cursor.Current = Cursors.Default;/向服务器发送信息private bool SendDataToServer(string str)trysw.WriteLine(str);sw.Flush

9、();listBoxStatus.Items.Add(“发送:“ + str);return true;catch (Exception err)MessageBox.Show(err.Message, “发送 “ + str + “ 失败“);return false;/从网络流中读取服务器回送的信息private string ReadDataFromServer()/从流中读取服务器返回的信息,写入信息列表框string str = null;trystr = sr.ReadLine();listBoxStatus.Items.Add(“收到:“ + str);/5+1+a+s+p+x/

10、如果是-ERR,表明有错if (str0 = -)MessageBox.Show(str, “有错了“);str = null;catch (Exception err)MessageBox.Show(err.Message, “无法读取“);return str;/单击断开连接按钮触发的事件private void buttonDisconnect_Click(object sender, EventArgs e)/向服务器发送 QUIT 命令SendDataToServer(“QUIT“);sr.Close();sw.Close();networkStream.Close();tcpCli

11、ent.Close();listBoxOperation.Items.Clear();richTextBox1.Clear();listBoxStatus.Items.Clear();buttonConnect.Enabled = true;buttonDisconnect.Enabled = false;/单击阅读信件按钮触发的事件private void buttonRead_Click(object sender, EventArgs e)/设置鼠标光标为等待状态Cursor.Current = Cursors.WaitCursor;string mailMessage = listBo

12、xOperation.SelectedItem.ToString();mailMessage = mailMessage.Substring(1, mailMessage.IndexOf(“封“) - 1);if (SendDataToServer(“RETR “ + mailMessage) = false) return;string receiveData = sr.ReadToEnd();/例子未进行解码处理/而仅仅将源代码原样显示出来,所以看到的涉及具体内容的信息将会是乱码richTextBox1.Text = “源代码:rn“;richTextBox1.AppendText(rec

13、eiveData);/设置鼠标光标为默认光标Cursor.Current = Cursors.Default;/单击删除信件按钮触发的事件private void buttonDelete_Click(object sender, EventArgs e)string str = listBoxOperation.SelectedItem.ToString();str = str.Substring(1, str.IndexOf(“封“) - 1);if (SendDataToServer(“DELE “ + str) = true)richTextBox1.Clear();int j = listBoxOperation.SelectedIndex;listBoxOperation.Items.Remove(listBoxOperation.Itemsj.ToString();/51asp xMessageBox.Show(“删除成功“, “恭喜“);private void FormReceiveMail_Load(object sender, EventArgs e)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号