当前位置: 网学 > 编程文档 > VB > 正文

用VB编写收发电子邮件程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
确无误以及系统中运行的消息系统工作是否正常。

  邮件接收程序

  邮件接收程序比邮件发送程序稍微复杂一些。首先需要使用MAPI消息控件的Fetch方法读取邮件,这个过程将把用户收件箱中所有未读邮件全部装入MAPI消息控件中。然后,检查MAPI消息控件的MsgCount属性以确定通过Fetch方法读取的邮件的总数。接着,可以通过设置MAPI消息控件的MsgIndex属性来指定具体需要处理哪一封邮件。需要说明的是,MsgIndex属性值的计数是从0开始的,也就是说,第一封邮件的索引号是0,第二封邮件的索引号是1,依次类推。编程步骤如下:
  1、新建一个VB项目。
  2、将缺省窗体Form1的Caption属性设置为"接收邮件"。

  3、将MAPI控件加入VB工具框。

  4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。

  5、在Form1中加入三个标签控件和一个文本框控件,将三个标签控件的Name属性分别设置为lblMsgDateReceived、lblMsgOrigDisplayName、lblMsgSubject,将文本框控件的Name属性设置为txtMsgNoteText,并将标签控件的Caption属性和文本框控件的Text属性的内容清空。这四个控件将分别用于显示邮件的日期、发件人、主题和内容。

  6、将txtMsgNoteText控件的Locked属性和Multiline属性设置为True,ScrollBars属性设置为2 - Vertical。

  7、在Form1中再加入四个标签控件用于标注上述四个控件,将它们的Caption属性分别设置为"日期"、"发件人"、"主题"、"内容"。

  8、在Form1中加入一个标签控件,将其Name属性设置为lblMsgCount,Caption属性设置为"第 0 封邮件,总计 0 封邮件"。该控件用于显示接收的邮件总数以及当前正在处理第几封邮件。

  9、在Form1中加入三个命令按钮控件,将它们的Name属性分别设置为cmdPrevious、cmdNext、cmdClose,Caption属性分别设置为"上一封"、"下一封"、"关闭"。



  10、编写一个窗体级子例程FetchNewMail:

  Public Sub FetchNewMail()
  MAPIMessages1.FetchUnreadOnly = True
  MAPIMessages1.Fetch
  End Sub  

  11、编写一个窗体级子例程DisplayMessage:

  Public Sub DisplayMessage()
  lblMsgCount.Caption = "第 " & _
  LTrim(Str(MAPIMessages1.MsgIndex + 1)) & " 封邮件,总计 " & _   
  LTrim(Str(MAPIMessages1.MsgCount)) & " 封邮件"
  lblMsgDateReceived.Caption = MAPIMessages1.MsgDateReceived
  txtMsgNoteText.Text = MAPIMessages1.MsgNoteText
  lblMsgOrigDisplayName.Caption = MAPIMessages1.MsgOrigDisplayName   
  lblMsgSubject.Caption = MAPIMessages1.MsgSubject
  End Sub  

  12、将下列代码加入Form1的Form_Load事件:

  Private Sub Form_Load()
  MAPISession1.SignOn
  MAPIMessages1.SessionID = MAPISession1.SessionID
  FetchNewMail
  DisplayMessage
  End Sub  

  13、将下列代码加入cmdPrevious的Click事件:

  Private Sub cmdPrevious_Click()
  If MAPIMessages1.MsgIndex > 0 Then
  MAPIMessages1.MsgIndex = MAPIMessages1.MsgIndex - 1
  DisplayMessage
  Else
  Beep
  End If
  End Sub  




  14、将下列代码加入cmdNext的Click事件:

  Private Sub cmdNext_Click()
  If MAPIMessages1.MsgIndex < MAPIMessages1.MsgCount - 1 Then
  MAPIMessages1.MsgIndex = MAPIMessages1.MsgIndex + 1
  DisplayMessage
  Else
  Beep
  End
  • 下一篇资讯: VB 程序大揭秘
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号