龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

自己的邮件自己发

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
长时间使用OutlookEXPress收发电子邮件的软件,你是不是也有点烦?是不是像我一样,也想什么时候自己动手编写一个属于自己收发电子邮件的软件。假如是这样,那么随我来吧!其实在

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

  

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

  

  窗体设计

  

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

  

  

  

  图2对象属性设置

  编写代码

  PrivateSubCommand1_Click()

  IfVal(Text2.Text)<=0ThenExitSub

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

  Callxs()

  EndSub

  PrivateSubCommand2_Click()

  IfVal(Text2.Text)>=Val(Text1.Text)-1ThenExitSub

  Text2.Text=Val(Text2.Text) 1

  Callxs()

  EndSub

  PrivateSubCommand3_Click()

  MAPIMessages1.SessionID=MAPISession1.SessionID

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

  MAPIMessages1.Compose′写新邮件

  MAPIMessages1.SendTrue

  EndSub

  PrivateSubxs()

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

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

  Text4.Text=MAPIMessages1.MsgOrigDisplayName

  ′电子邮件发信人姓名

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

  EndSub

  PrivateSubCommand4_Click()

  MAPIMessages1.SessionID=MAPISession1.SessionID

  MAPIMessages1.MsgIndex=Val(Text2.Text)

  MAPIMessages1.Reply

  MAPIMessages1.SendTrue

  EndSub

  PrivateSubCommand5_Click()

  MAPISession1.SignOff

  MAPISession1.DownLoadMail=True

  MAPISession1.SignOn

  MAPIMessages1.SessionID=MAPISession1.SessionID

  MAPIMessages1.FetchUnreadOnly=False

  MAPIMessages1.Fetch

  Text1.Text=MAPIMessages1.MsgCount

  Text2.Text=0

  EndSub

  PrivateSubCommand6_Click()

  OnErrorGoToerr:

  MAPIMessages1.Show

  err:

  EndSub

  PrivateSubForm_Activate()

  Callxs

  EndSub

  PrivateSubForm_Load() ′系统初始化

  MAPISession1.DownLoadMail=False

  MAPISession1.SignOn ′ 处理开始

  

  MAPIMessages1.SessionID=MAPISession1.SessionID

  MAPIMessages1.FetchUnreadOnly=False

  MAPIMessages1.Fetch

  Text1.Text=MAPIMessages1.MsgCount

  Text2.Text=0

  EndSub

  PrivateSubCommand7_Click()

  MAPISession1.SignOff  ′ 处理结束

  End

  EndSub

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

  

精彩图集

赞助商链接