频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用VB编程实现自己的邮件“自己发”

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组

  长时间使用Outlook Express收发电子邮件的软件,你是不是也有点烦?是不是像我一样,也想什么时候自己动手编写一个属于自己收发电子邮件的软件。如果是这样,那么随我来吧!其实在VB中,应用程序可以通过调用微软公司的MAPI(Messaging Application Programming Interface)消息应用程序编程接口,轻松实现收发电子邮件的功能。

用VB编程实现自己的邮件“自己发”(图一)


图1窗体设置

  VB中有两个邮件收发功能的核心控件:MAPI会话和MAPI消息控件。MAPI会话控件用于建立和控制一个Microsoft Mail会话,MAPI消息控件用于创建和收发邮件消息。此外,程序必须运行在采用MAPI的消息系统(如Microsoft Exchange、Outlook等)的环境中。

  窗体设计

  打开VB,在Form1中加入5个文本框,7个命令按钮,同时通过添加部件的方法将MAPI控件加入窗体中(如图1)。各对象的属性设置如图2。

用VB编程实现自己的邮件“自己发”(图二)
图2对象属性设置

  编写代码

  Private Sub Command1_Click()

  If Val(Text2.Text) <= 0 Then Exit Sub

  Text2.Text = Val(Text2.Text) - 1

  Call xs ()

  End Sub

  Private Sub Command2_Click()

  If Val(Text2.Text) >= Val(Text1.Text) - 1 Then Exit Sub

  Text2.Text = Val(Text2.Text) + 1

  Call xs()

  End Sub

  Private Sub Command3_Click()

  MAPIMessages1.SessionID = MAPISession1.SessionID

  MAPIMessages1.MsgIndex = -1′建立发送缓冲区

  MAPIMessages1.Compose′写新邮件

  MAPIMessages1.Send True

  End Sub

  Private Sub xs()

  MAPIMessages1.MsgIndex = Val(Text2.Text)′指定电子邮件

  Text3.Text = MAPIMessages1.MsgSubject ′电子邮件主题

  Text4.Text = MAPIMessages1.MsgOrigDisplayName

    ′电子邮件发信人姓名

  Text5.Text = MAPIMessages1.MsgNoteText′电子邮件全文

  End Sub

  Private Sub Command4_Click()

  MAPIMessages1.SessionID = MAPISession1.SessionID

  MAPIMessages1.MsgIndex = Val(Text2.Text)

  MAPIMessages1.Reply

  MAPIMessages1.Send True

  End Sub

  Private Sub Command5_Click()

  MAPISession1.SignOff

  MAPISession1.DownLoadMail = True

  MAPISession1.SignOn

  MAPIMessages1.SessionID = MAPISession1.SessionID

  MAPIMessages1.FetchUnreadOnly = False

  MAPIMessages1.Fetch

  Text1.Text = MAPIMessages1.MsgCount

  Text2.Text = 0

  End Sub

  Private Sub Command6_Click()

  On Error GoTo err:

  MAPIMessages1.Show

  err:

  End Sub

  Private Sub Form_Activate()

  Call xs

  End Sub

  Private Sub Form_Load()′系统初始化

  MAPISession1.DownLoadMail = False

  MAPISession1.SignOn′处理开始

  MAPIMessages1.SessionID = MAPISession1.SessionID

  MAPIMessages1.FetchUnreadOnly = False

  MAPIMessages1.Fetch

  Text1.Text = MAPIMessages1.MsgCount

  Text2.Text = 0

  End Sub

  Private Sub Command7_Click()

  MAPISession1.SignOff ′处理结束

  End

  End Sub

  好了,代码终于写完了,运行一下,看看效果,还不错吧!当然,如果你想更完善一些,就需要你自己努力了。本程序在Windows XP下运行通过。

Web: http://www.qqread.com/vb/d346509.html 更多文章 更多内容请看Java编程开发手册邮件服务器专题VB网络及通讯编程专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章