实例说明
在本实例中,我们将制作一个能够接收电子邮件的应用程序。程序运行后,点击"开始收取"按钮,即可将信件收取到本机上,并显示相应的主题和内容。程序运行结果如图84-1所示。
图84-1 运行结果
技术要点
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服务方可适用本程序。否则会出现不可预知的错误。