[VB.NET]接收电子邮件

来源:互联网 发布:vb visible属性 编辑:程序博客网 时间:2024/05/12 20:17
接收电子邮件

实例说明

在本实例中,我们将制作一个能够接收电子邮件的应用程序。程序运行后,点击"开始收取"按钮,即可将信件收取到本机上,并显示相应的主题和内容。程序运行结果如图84-1所示。

图84-1 运行结果

<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

技术要点

l 使用MAPI控件

l 建立MAPI会话

l 收取邮件

实现过程

■ 新建项目

打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"ReceiveMail",然后选择保存路径。单击"确认"。

■ 添加控件

向窗体上添加两个Label控件,用于说明之用;一个ComboBox控件用于显示邮件的主题,一个TextBox控件用于显示邮件内容。一个Button控件。最后添加"Microsoft MAPI Session Control"和"Microsoft MAPI Message Control"(此控件需要额外添加)。

■ 设置属性

对窗体及控件进行属性设置,我们在表84-1中仅列出主要的属性。其余属性如控件的Text属性只需设置为和界面一致。

表84-1 窗体及控件的属性值

窗体/控件 属性 值

Form1 Text 接收电子邮件

TextBox1 ScrollBar Vertical

MultiLine True

WordWrap True

■ 添加代码

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

MAPISession1.SignOn()

MAPIMessages1.SessionID = MAPISession1.SessionID

FetchNewMail()

End Sub

'收取邮件

Public Sub FetchNewMail()

Dim number As Short

On Error Goto errhandle

MAPIMessages1.FetchUnreadOnly = True

MAPIMessages1.Fetch()

ComboBox1.Items.Clear()

number = 0

If MAPIMessages1.MsgCount < 0 Then

Do

MAPIMessages1.MsgIndex = number

ComboBox1.Items.Add(MAPIMessages1.MsgSubject)

number = number + 1

Loop Until number = MAPIMessages1.MsgCount

End If

Exit Sub

errhandle:

MsgBox("错误:" & Err.Description)

End Sub

'选择不同的邮件主题时,显示相应的内容

Private Sub ComboBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Click

MAPIMessages1.MsgIndex = ComboBox1.SelectedIndex

TextBox1.Text = MAPIMessages1.MsgNoteText

End Sub

■ 运行程序

单击菜单"调试|启动"或单击 图标运行程序。

小结

需要说明的是:本程序运行时,必须设置好OutLook Express中的Pop3服务方可适用本程序。否则会出现不可预知的错误。

原创粉丝点击