⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.vb

📁 电子邮件发送和接收程序,里面有实现代码的全过程
💻 VB
字号:
Imports System
Imports System.Xml
Imports System.Data
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        '在 InitializeComponent() 调用之后添加任何初始化

    End Sub

    '窗体重写 dispose 以清理组件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意: 以下过程是 Windows 窗体设计器所必需的
    '可以使用 Windows 窗体设计器修改此过程。
    '不要使用代码编辑器修改它。
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
    Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
    Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
    Friend WithEvents Label4 As System.Windows.Forms.Label
    Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
    Friend WithEvents TextBox4 As System.Windows.Forms.TextBox
    Friend WithEvents TextBox5 As System.Windows.Forms.TextBox
    Friend WithEvents Button1 As System.Windows.Forms.Button
    Friend WithEvents Button2 As System.Windows.Forms.Button
    Friend WithEvents Button3 As System.Windows.Forms.Button
    Friend WithEvents AxMAPIMessages1 As AxMSMAPI.AxMAPIMessages
    Friend WithEvents AxMAPISession1 As AxMSMAPI.AxMAPISession
    Friend WithEvents Label7 As System.Windows.Forms.Label
    Friend WithEvents Label6 As System.Windows.Forms.Label
    Friend WithEvents Label5 As System.Windows.Forms.Label
    Friend WithEvents TextBox6 As System.Windows.Forms.TextBox
    Friend WithEvents Label8 As System.Windows.Forms.Label
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.AxMAPISession1 = New AxMSMAPI.AxMAPISession
        Me.AxMAPIMessages1 = New AxMSMAPI.AxMAPIMessages
        Me.Label7 = New System.Windows.Forms.Label
        Me.TextBox5 = New System.Windows.Forms.TextBox
        Me.TextBox4 = New System.Windows.Forms.TextBox
        Me.Label6 = New System.Windows.Forms.Label
        Me.CheckBox1 = New System.Windows.Forms.CheckBox
        Me.Label4 = New System.Windows.Forms.Label
        Me.TextBox3 = New System.Windows.Forms.TextBox
        Me.TextBox2 = New System.Windows.Forms.TextBox
        Me.TextBox1 = New System.Windows.Forms.TextBox
        Me.Label3 = New System.Windows.Forms.Label
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label1 = New System.Windows.Forms.Label
        Me.TextBox6 = New System.Windows.Forms.TextBox
        Me.Button1 = New System.Windows.Forms.Button
        Me.Button2 = New System.Windows.Forms.Button
        Me.Button3 = New System.Windows.Forms.Button
        Me.Label5 = New System.Windows.Forms.Label
        Me.Label8 = New System.Windows.Forms.Label
        Me.GroupBox1.SuspendLayout()
        CType(Me.AxMAPISession1, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.AxMAPIMessages1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'GroupBox1
        '
        Me.GroupBox1.Controls.Add(Me.AxMAPISession1)
        Me.GroupBox1.Controls.Add(Me.AxMAPIMessages1)
        Me.GroupBox1.Controls.Add(Me.Label7)
        Me.GroupBox1.Controls.Add(Me.TextBox5)
        Me.GroupBox1.Controls.Add(Me.TextBox4)
        Me.GroupBox1.Controls.Add(Me.Label6)
        Me.GroupBox1.Controls.Add(Me.CheckBox1)
        Me.GroupBox1.Controls.Add(Me.Label4)
        Me.GroupBox1.Controls.Add(Me.TextBox3)
        Me.GroupBox1.Controls.Add(Me.TextBox2)
        Me.GroupBox1.Controls.Add(Me.TextBox1)
        Me.GroupBox1.Controls.Add(Me.Label3)
        Me.GroupBox1.Controls.Add(Me.Label2)
        Me.GroupBox1.Controls.Add(Me.Label1)
        Me.GroupBox1.Controls.Add(Me.TextBox6)
        Me.GroupBox1.Location = New System.Drawing.Point(8, 8)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(432, 352)
        Me.GroupBox1.TabIndex = 0
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "邮件内容"
        '
        'AxMAPISession1
        '
        Me.AxMAPISession1.ContainingControl = Me
        Me.AxMAPISession1.Enabled = True
        Me.AxMAPISession1.Location = New System.Drawing.Point(80, 224)
        Me.AxMAPISession1.Name = "AxMAPISession1"
        Me.AxMAPISession1.OcxState = CType(resources.GetObject("AxMAPISession1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxMAPISession1.Size = New System.Drawing.Size(38, 38)
        Me.AxMAPISession1.TabIndex = 14
        '
        'AxMAPIMessages1
        '
        Me.AxMAPIMessages1.ContainingControl = Me
        Me.AxMAPIMessages1.Enabled = True
        Me.AxMAPIMessages1.Location = New System.Drawing.Point(144, 224)
        Me.AxMAPIMessages1.Name = "AxMAPIMessages1"
        Me.AxMAPIMessages1.OcxState = CType(resources.GetObject("AxMAPIMessages1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxMAPIMessages1.Size = New System.Drawing.Size(38, 38)
        Me.AxMAPIMessages1.TabIndex = 13
        '
        'Label7
        '
        Me.Label7.Location = New System.Drawing.Point(160, 128)
        Me.Label7.Name = "Label7"
        Me.Label7.Size = New System.Drawing.Size(48, 24)
        Me.Label7.TabIndex = 12
        Me.Label7.Text = "时间:"
        '
        'TextBox5
        '
        Me.TextBox5.Location = New System.Drawing.Point(112, 320)
        Me.TextBox5.Name = "TextBox5"
        Me.TextBox5.Size = New System.Drawing.Size(304, 21)
        Me.TextBox5.TabIndex = 11
        Me.TextBox5.Text = ""
        '
        'TextBox4
        '
        Me.TextBox4.Location = New System.Drawing.Point(216, 128)
        Me.TextBox4.Name = "TextBox4"
        Me.TextBox4.Size = New System.Drawing.Size(200, 21)
        Me.TextBox4.TabIndex = 10
        Me.TextBox4.Text = ""
        '
        'Label6
        '
        Me.Label6.Location = New System.Drawing.Point(56, 320)
        Me.Label6.Name = "Label6"
        Me.Label6.Size = New System.Drawing.Size(64, 24)
        Me.Label6.TabIndex = 8
        Me.Label6.Text = "附件"
        '
        'CheckBox1
        '
        Me.CheckBox1.Location = New System.Drawing.Point(24, 320)
        Me.CheckBox1.Name = "CheckBox1"
        Me.CheckBox1.Size = New System.Drawing.Size(16, 16)
        Me.CheckBox1.TabIndex = 7
        Me.CheckBox1.Text = "    附件"
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(16, 128)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(88, 24)
        Me.Label4.TabIndex = 6
        Me.Label4.Text = "邮件正文"
        '
        'TextBox3
        '
        Me.TextBox3.Location = New System.Drawing.Point(120, 88)
        Me.TextBox3.Multiline = True
        Me.TextBox3.Name = "TextBox3"
        Me.TextBox3.Size = New System.Drawing.Size(296, 21)
        Me.TextBox3.TabIndex = 5
        Me.TextBox3.Text = ""
        '
        'TextBox2
        '
        Me.TextBox2.Location = New System.Drawing.Point(120, 56)
        Me.TextBox2.Name = "TextBox2"
        Me.TextBox2.Size = New System.Drawing.Size(296, 21)
        Me.TextBox2.TabIndex = 4
        Me.TextBox2.Text = ""
        '
        'TextBox1
        '
        Me.TextBox1.Location = New System.Drawing.Point(120, 24)
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.Size = New System.Drawing.Size(296, 21)
        Me.TextBox1.TabIndex = 3
        Me.TextBox1.Text = ""
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(16, 96)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(88, 24)
        Me.Label3.TabIndex = 2
        Me.Label3.Text = "邮件主题"
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(16, 64)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(88, 16)
        Me.Label2.TabIndex = 1
        Me.Label2.Text = "发件人地址"
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(16, 32)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(88, 16)
        Me.Label1.TabIndex = 0
        Me.Label1.Text = "发件人"
        '
        'TextBox6
        '
        Me.TextBox6.Location = New System.Drawing.Point(16, 160)
        Me.TextBox6.Multiline = True
        Me.TextBox6.Name = "TextBox6"
        Me.TextBox6.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
        Me.TextBox6.Size = New System.Drawing.Size(400, 152)
        Me.TextBox6.TabIndex = 15
        Me.TextBox6.Text = ""
        '
        'Button1
        '
        Me.Button1.Location = New System.Drawing.Point(128, 368)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(96, 24)
        Me.Button1.TabIndex = 1
        Me.Button1.Text = "收信"
        '
        'Button2
        '
        Me.Button2.Location = New System.Drawing.Point(240, 368)
        Me.Button2.Name = "Button2"
        Me.Button2.Size = New System.Drawing.Size(72, 24)
        Me.Button2.TabIndex = 2
        Me.Button2.Text = "《上一封"
        '
        'Button3
        '
        Me.Button3.Location = New System.Drawing.Point(320, 368)
        Me.Button3.Name = "Button3"
        Me.Button3.Size = New System.Drawing.Size(72, 24)
        Me.Button3.TabIndex = 3
        Me.Button3.Text = "下一封》"
        '
        'Label5
        '
        Me.Label5.Location = New System.Drawing.Point(16, 368)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(104, 24)
        Me.Label5.TabIndex = 4
        '
        'Label8
        '
        Me.Label8.Location = New System.Drawing.Point(408, 368)
        Me.Label8.Name = "Label8"
        Me.Label8.Size = New System.Drawing.Size(40, 24)
        Me.Label8.TabIndex = 5
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(456, 406)
        Me.Controls.Add(Me.Label8)
        Me.Controls.Add(Me.Label5)
        Me.Controls.Add(Me.Button3)
        Me.Controls.Add(Me.Button2)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.GroupBox1)
        Me.Name = "Form1"
        Me.Text = "电子邮件接收程序"
        Me.GroupBox1.ResumeLayout(False)
        CType(Me.AxMAPISession1, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.AxMAPIMessages1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region
    Public Function FetchMail()
        Me.AxMAPIMessages1.FetchUnreadOnly = True
        ' 开始收取新邮件
        Me.AxMAPIMessages1.Fetch()
        '开始收取新邮件
    End Function
    Public Function DisplayMail()
        If Me.AxMAPIMessages1.MsgCount > 0 Then
            Me.Label5.Text = "第 " & _
            LTrim(Str(AxMAPIMessages1.MsgIndex + 1)) & " 封邮件,总计 " & _
            LTrim(Str(AxMAPIMessages1.MsgCount)) & " 封邮件"
            '获取当前阅读新邮件的索引以及新邮件的总数
        Else
            Me.Label5.Text = "第 " & _
            LTrim(Str(AxMAPIMessages1.MsgIndex)) & " 封邮件,总计 " & _
            LTrim(Str(AxMAPIMessages1.MsgCount)) & " 封邮件"
        End If
        Me.TextBox1.Text = Me.AxMAPIMessages1.MsgOrigDisplayName
        '获取发件人信息,这里显示发件人名称
        Me.TextBox2.Text = Me.AxMAPIMessages1.MsgOrigAddress
        '获取邮件发送人Email地址
        Me.TextBox3.Text = Me.AxMAPIMessages1.MsgSubject
        '获取邮件标题或主题
        Me.TextBox4.Text = Me.AxMAPIMessages1.MsgDateReceived
        '获取邮件发送日期
        Me.TextBox6.Text = Me.AxMAPIMessages1.MsgNoteText
        '获取邮件内容,即信件主体内容
        If Me.AxMAPIMessages1.AttachmentCount > 0 Then
            Me.CheckBox1.Checked = True
            Me.TextBox5.Enabled = True
            Me.Label8.Text = "附件数目为 " & Me.AxMAPIMessages1.AttachmentCount - 1
            Me.TextBox5.Text = Me.AxMAPIMessages1.AttachmentPathName
        Else
            Me.CheckBox1.Checked = False
            Me.TextBox5.Enabled = False
        End If
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.AxMAPISession1.SignOn()
        '登陆邮件服务器的动作
        AxMAPIMessages1.SessionID = AxMAPISession1.SessionID
        '设置邮件的任务
        FetchMail()
        '开始收取新邮件
        DisplayMail()
        '显示当前阅读邮件的相关信息
        Me.Button1.Enabled = False
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If AxMAPIMessages1.MsgIndex > 0 Then
            AxMAPIMessages1.MsgIndex = AxMAPIMessages1.MsgIndex - 1
            DisplayMail()
            '显示上一封邮件
        Else
            Beep()
            '蜂鸣报警
        End If
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If Me.AxMAPIMessages1.MsgIndex < AxMAPIMessages1.MsgCount - 1 Then
            AxMAPIMessages1.MsgIndex = AxMAPIMessages1.MsgIndex + 1
            DisplayMail()
            '显示下一封邮件
        Else
            Beep()
            '蜂鸣报警
        End If
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -