打印本文 打印本文 关闭窗口 关闭窗口
在VB.NET中检测有没有新邮件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数917  更新时间:2009/4/23 19:00:57  文章录入:mintao  责任编辑:mintao
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
……

    Private Function Connect(ByVal strServer As String, ByVal strUser As String, ByVal strPwd As String) As NetworkStream
        Dim Sender As New TcpClient(strServer, 110)
        Dim OutBytes As Byte()
        Dim input As String
        Dim Ns As NetworkStream = Nothing

        Try
            Ns = Sender.GetStream()
            Dim sr As New StreamReader(Ns)
            input = "user " & strUser & vbCrLf
            outbytes = System.Text.Encoding.ASCII.GetBytes(input)
            Ns.Write(OutBytes, 0, OutBytes.Length)
            Console.WriteLine(sr.ReadLine())
            input = "pass " & strPwd & vbCrLf
            OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
            Ns.Write(OutBytes, 0, OutBytes.Length)
            Console.WriteLine(sr.ReadLine())
            Console.WriteLine("==========================================================")
            Return Ns
        Catch ex As Exception
            MsgBox("无法连接到服务器", MsgBoxStyle.Critical)
            Return Ns
        End Try
    End Function

    Private Function GetNumberOfNewMessages() As Integer
        Dim OutBytes As Byte()
        Dim input As String
        Dim strTemp As String

        GetNumberOfNewMessages = -1
        Try
            Dim Ns As NetworkStream = Connect("在这输入邮件服务器名称", "用户名", "密码")
            If (Ns Is Nothing) Then Exit Function
            Dim sr As New StreamReader(Ns)
            input = "stat" & vbCrLf
            OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
            Ns.Write(OutBytes, 0, OutBytes.Length)
            Dim resp As String = sr.ReadLine()
            Console.WriteLine(resp)
            Dim tokens As String() = resp.Split(" ")
            input = "quit" & vbCrLf
            OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
            Ns.Write(OutBytes, 0, OutBytes.Length)
            Console.WriteLine(sr.ReadLine())
            sr.Close()
            Ns.Close()
            Return Val(tokens(1))
        Catch ex As Exception
            Console.WriteLine(ex.ToString)
        End Try
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    dim intNew as Integer

        intNew=GetNumberOfNewMessages()
    msgbox "有" & cstr(intNew) & "封新邮件!"
    End Sub

打印本文 打印本文 关闭窗口 关闭窗口