毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

电子邮件收发系统毕业论文 第9页

更新时间:2010-5-6:  来源:毕业论文
电子邮件收发系统毕业论文 第9页
6、 最后,客户端发送QUIT指令,表示要求结束连接,服务器响应221信息,表示同意结束,则所有流程结束。

4.2有关邮件收发系统的协议二POP3
4.2.1POP3协议流程
POP3流程
1、 认证
2、 邮件接收
3、 根据Transaction流程的定义,更新邮件信箱。
与SMTP相比,POP3的指令内容较为简单,因为在每个阶段,RFC均定义了客户端所发送指令的格式以及服务器端响应的内容。
(1) 客户端所发送的指令必须以CRLF结尾。
(2) 服务器响应的信息,只用两种情况。
 +OK:表示指令正确执行
 -ERR:表示指令执行错误。
此外,在POP3的每个阶段,均有相应的指令应用。

4.2.2认证阶段指令
认证阶段指令
指令 语法
USER USER<loginname>
PASS PASS<password>
QUIT QUIT

代码如下:
  //Socket初始化
            Socket ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            //连接服务器
            try
            {
                ClientSocket.Connect(RecServer, int.Parse(RecServerPort));
            }
            catch (Exception ex) { throw new MyException("从<" + MailAddress + ">接收邮件失败:" + ex.Message); }
            Rec(ClientSocket);
            if (RecString.IndexOf("OK") < 0)
            {
                ClientSocket.Close();
                throw new MyException("从<" + MailAddress + ">接收邮件失败:错误发生在与服务器的连接!");
            }

            //发送USER
            ClientSocket.Send(System.Text.Encoding.Default.GetBytes("user " + RecServerUser + "\r\n"));
            Rec(ClientSocket);
            if (RecString.IndexOf("OK") < 0)
            {
                ClientSocket.Close();
                throw new MyException("从<" + MailAddress + ">接收邮件失败:错误发生在用户名校验!");
            }
//发送PASS
            ClientSocket.Send(System.Text.Encoding.Default.GetBytes("pass " + RecServerPassword + "\r\n"));
            Rec(ClientSocket);
            if (RecString.IndexOf("OK") < 0)
            {
                ClientSocket.Close();
                throw new MyException("从<" + MailAddress + ">接收邮件失败:错误发生在密码校验!");
            }

4.2.3邮件发送阶段指令
邮件发送阶段指令
指令 语法
STAT STAT
LIST LIST(mail#)
RETR RETR[mail#]
DELE DELE
NOOP NOOP
RSET RSET
代码如下:

//发送STAT
            ClientSocket.Send(System.Text.Encoding.Default.GetBytes("stat\r\n"));
            Rec(ClientSocket);
            if (RecString.IndexOf("OK") < 0)
            {
                ClientSocket.Close();
                throw new MyException("从<" + MailAddress + ">接收邮件失败:错误发生在通知收件服务器准备接受邮件!");
            }
            string[] RecStrings = RecString.Split(' ');
            int Count = Int32.Parse(RecStrings[1]);

            //发送LIST
            ClientSocket.Send(System.Text.Encoding.Default.GetBytes("list\r\n"));
            Rec(ClientSocket);
            if (RecString.IndexOf("OK") < 0)
            {
                ClientSocket.Close();
                throw new MyException("从<" + MailAddress + ">接收邮件失败:错误发生在从服务器中获得邮件列表和字节大小!");
            }

            //获取邮件           
            for (int a = 1; a <= Count; a++)
            {
                Thread.Sleep(100);
                ClientSocket.Send(System.Text.Encoding.Default.GetBytes("retr " + a + "\r\n"));
                Rec(ClientSocket);
                string RecvMail = "";//清除提示信息
                while (RecvMail.IndexOf("\r\n.\r\n") < 0)
                {
                    Len = ClientSocket.Receive(Buff);
                    RecvMail += System.Text.Encoding.Default.GetString(Buff, 0, Len);
                }                if (!IsLeaveMessage)

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

电子邮件收发系统毕业论文 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。