首页 > 学院 > 开发设计 > 正文

自己的邮件自己发

2019-11-18 17:55:30
字体:
来源:转载
供稿:网友
长时间使用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下运行通过。

->


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表