zoukankan      html  css  js  c++  java
  • 验证用户邮件帐号及密码

    public TcpClient Server;

    public NetworkStream NetStrm;

    public StreamReader  RdStrm;

    public string Data;

    public byte[] szData;

    public string CRLF = " ";

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

    {

    // change cursor into wait cursor

    Cursor cr = Cursor.Current;

    Cursor.Current = Cursors.WaitCursor;

    // create server POP3 with port 110

    Server = new TcpClient(POPServ.Text,110);

    Status.Items.Clear();

    try

    {

    // initialization

    NetStrm = Server.GetStream();

    RdStrm= new StreamReader(Server.GetStream());

    Status.Items.Add(RdStrm.ReadLine());

    // Login Process

    Data = "USER "+ User.Text+CRLF;

    szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());

    NetStrm.Write(szData,0,szData.Length);

    Status.Items.Add(RdStrm.ReadLine());

    Data = "PASS "+ Passw.Text+CRLF;

    szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());

    NetStrm.Write(szData,0,szData.Length);

    Status.Items.Add(RdStrm.ReadLine());

    // Send STAT command to get information ie: number of mail and size

    Data = "STAT"+CRLF;

    szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());

    NetStrm.Write(szData,0,szData.Length);

    Status.Items.Add(RdStrm.ReadLine());

    // change enabled - disabled button

    ConnectBtn.Enabled = false;

    DisconnectBtn.Enabled = true;

    RetrieveBtn.Enabled = true;

    // back to normal cursor

    Cursor.Current = cr;

    }

    catch(InvalidOperationException err)

    {

    Status.Items.Add("Error: "+err.ToString());

    }

    }

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

    {

    // change cursor into wait cursor

    Cursor cr = Cursor.Current;

    Cursor.Current = Cursors.WaitCursor;

    // Send QUIT command to close session from POP server

    Data = "QUIT"+CRLF;

    szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());

    NetStrm.Write(szData,0,szData.Length);

    Status.Items.Add(RdStrm.ReadLine());

    //close connection

    NetStrm.Close();

    RdStrm.Close();

    // change enabled - disabled button

    ConnectBtn.Enabled = true;

    DisconnectBtn.Enabled = false;

    RetrieveBtn.Enabled = false;

    // back to normal cursor

    Cursor.Current = cr;

    }

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

    {

                double x = 0.00;

                Task.WaitAll(()=> new { x = GetValueAsync()}, 1000);

    // change cursor into wait cursor

    Cursor cr = Cursor.Current;

    Cursor.Current = Cursors.WaitCursor;

    string szTemp;

    Message.Clear();

    try

    {

    // retrieve mail with number mail parameter

    Data = "RETR "+ Number.Text+CRLF;

    szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());

    NetStrm.Write(szData,0,szData.Length);

    szTemp = RdStrm.ReadLine();

    if(szTemp[0]!='-') 

    {

                      

    while(szTemp!=".")

    {

    Message.Text += szTemp+CRLF;

    szTemp = RdStrm.ReadLine();

    }

    }

    else

    {

    Status.Items.Add(szTemp);

    }

    // back to normal cursor

    Cursor.Current = cr;

    }

    catch(InvalidOperationException err)

    {

    Status.Items.Add("Error: "+err.ToString());

    }

    }

  • 相关阅读:
    docker 原理之 mount namespace(下)
    docker 原理之 namespace (上)
    十种世界顶级思维方式
    Go 标准库 net
    斐波拉契序列的 Go 实现
    channel 是怎么走上死锁这条路的
    hello world 的并发实现
    使用链表和切片实现栈和队列
    非暴力沟通-读后感
    CCS
  • 原文地址:https://www.cnblogs.com/yufan27209/p/4497776.html
Copyright © 2011-2022 走看看