使用VB实现电子邮件的发送 点击:1072 | 回复:2



水中鱼 --王者之师

    
发表于:2012-03-10 12:49:49
楼主

      在VB中编写电子邮件程序需要通过调用微软公司的MAPI(Messaging Application Programming Interface,消息应用程序编程接口),这需要借助两个实现电子邮件收发功能的核心控件:MAPI会话控件和MAPI消息控件。MAPI会话控件用于建立和控制一个Microsoft Mail会话,MAPI消息控件用于创建和收发邮件消息。此外,Windows系统中必须要有遵从MAPI的邮件系统,比如Exchange、Outlook等软件,而还要进行一番设置,确保邮件系统可以正常使用。

     需要我们自己将MAPI控件加入VB工具箱。首先直接在VB左边的控件栏中右击鼠标,并在弹出菜单中选择“部件”命令,这时可以激活部件设置窗口,在其中的“控件”列表框中选取“Microsoft MAPI Controls”一项(如图1所示),接着按下“确定”按钮之后可以发现工具箱中将多出了两个图标,这就是MAPI会话控件和MAPI消息控件的图标(如图所示)。

邮件发送程序

添加好我们所需要的控件之后,就开始定制邮件的发送程序吧。这个邮件发送程序的基本处理过程是:根据用户输入信息组成邮件,然后使用MAPI消息控件的Send方法将邮件发出。具体的方法按照下述步骤完成:

  1、新建一个VB项目,并将缺省窗体Form1的Caption属性设置为“发送邮件”。  

    2、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。
  3、在Form1中加入三个TextBox控件,将它们的名称属性分别设置为“txtSendTo”、“txtSubject”和“txtMessage”,另外还要将txtMessage的Multiline属性设置为“True”。这三个TextBox控件将分别用于填写邮件的收件人地址、邮件主题和邮件正文。
  4、在Form1中加入三个Label控件,将它们的Caption属性分别设置为“收件人”、“主题”和“内容”,并将它们放在合适的位置用以标注相应的TextBox控件。
  5、在Form1中加入一个Command Button控件,将其Caption属性和名称属性分别设置为“发送”和“Send”。
  所有的控件添加完毕之后应该如图所示。


    1、将下列代码加入Form1的Form_Load事件:
  Private Sub Form_Load()
  MAPISession1.SignOn  /运行程序之后进行邮箱登录操作
  End Sub

  2、将下列代码加入Form1的Form_Unload事件:
  Private Sub Form_Unload(Cancel As Integer)
  MAPISession1.SignOff  /退出程序时候进行退出邮箱操作
  End Sub   

    3、将下列代码加入cmdSend的Click事件:

  Private Sub cmdSend_Click()
  With MAPIMessages1
  .MsgIndex = -1
  .RecipDisplayName = txtSendTo.Text  /收信人地址
  .MsgSubject = txtSubject.Text    /邮件主题
  .MsgNoteText = txtMessage.Text    /邮件正文
  .SessionID = MAPISession1.SessionID  /发送程序和邮件工具之间建立的任务数
  .Send
  End With
  MsgBox "邮件发送完毕!", , "发送邮件"  /发送成功显示信息框
  End Sub

  这样一个电子邮件发送部分就制作完成了,运行程序之后只要填写好邮件的收件人、主题和内容后,按下“发送”命令按钮,邮件就已经成功地发往目的地了(如图所示)



楼主最近还看过



wenbaolv

  • 精华:0帖
  • 求助:20帖
  • 帖子:110帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2012-03-10 19:32:01
1楼
牛逼                     

tree1981

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 16回
  • 年度积分:0
  • 历史总积分:237
  • 注册:2007年3月01日
发表于:2012-03-13 15:55:57
2楼

现在这种功能,组态软件基本都已经有了吧。不用大家那么麻烦的自己去编写程序吧。

 

SSI ļʱ