Пример #1
0
 /// <summary>
 /// 断开连接
 /// </summary>
 /// <returns>返回是否成功</returns>
 public bool Close()
 {
     if (State != Pop3STATE.UNCONNECTED)
     {
         SendCommand("QUIT", StrmWtr);
         string ret = ReceiveResponse(StrmRdr);
         StrmRdr.Close();
         client.Close();
         this.State = Pop3STATE.UNCONNECTED;
         return(true);
     }
     return(false);
 }
Пример #2
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <returns>返回是否登录成功</returns>
        public bool Login(User user)
        {
            //连接
            this.User = user;
            try
            {
                client  = new TcpClient(user.POP3Server, user.POP3Port);
                StrmWtr = client.GetStream();
                StrmRdr = new StreamReader(client.GetStream());
            }
            catch (Exception e)
            {
                e.ToString();
                this.State = Pop3STATE.UNCONNECTED;
                return(false);
            }

            //连接返回的返回结果
            string ret = ReceiveResponse(StrmRdr);

            if (ret.IndexOf("+OK") == 0)    //成功建立连接
            {
                //StrmWtr.Close();
                //client.Close();

                //验证用户名
                SendCommand("USER " + User.Username, StrmWtr);
                ret = ReceiveResponse(StrmRdr);
                if (ret.IndexOf("+OK") == 0)
                {
                    //验证密码
                    SendCommand("PASS " + User.Password, StrmWtr);
                    ret = ReceiveResponse(StrmRdr);
                    if (ret.IndexOf("+OK") == 0)
                    {
                        //验证成功,进入连接状态
                        State = Pop3STATE.CONNECTED;
                        return(true);
                    }
                }
            }
            this.State = Pop3STATE.UNCONNECTED;
            return(false);
        }
Пример #3
0
        }                                    //当前连接状态

        public POP3Client(User user)
        {
            User  = user;
            State = Pop3STATE.UNCONNECTED;
        }