vb发邮件代码怎么写?简单几步实现自动发送!

吉云

我来跟大家聊聊我是怎么用VB写代码发邮件的。这事儿,说起来还挺有意思的。起初,我就是想着搞个小程序,能定时从数据库里扒拉出那些需要发送的邮件,然后自动给它们发出去。毕竟手动一个个来,那得多累!

于是我开始琢磨着怎么设计这个小程序。我觉得,至少得有三个表。第一个是“发件箱”(我给它起名叫mail_outbox),用来放那些准备要发的邮件;第二个是“已发送”(mail_sent),用来记录那些已经发送成功的邮件。第三个是“发送失败”。后来在发送的过程中,发现发送失败的邮件还是有必要记录一下的,于是又添加“发送失败”表。

vb发邮件代码怎么写?简单几步实现自动发送!

我一开始想得挺美,准备把它做成一个通用的版本,以后啥邮件都能用它来发。我就开始动手写代码。

我得让VB能跟Outlook搭上线。因为打算用的是Outlook组件嘛所以需要先引用它。于是我在代码里写上这么两句:

  • ' 引用Outlook组件
  • Dim oOutlook As *
  • Dim oMail As *

这两句的意思,就是告诉VB,我要用Outlook的东西。得创建Outlook对象:

  • ' 创建Outlook对象
  • Set oOutlook = CreateObject("*")

这样,VB就能通过这个oOutlook对象,来操作Outlook。创建连接,发送邮件指令,数据传输,然后关闭连接,这些步骤都不能少。比如发送邮件指令,我得告诉服务器发件人是谁,收件人是谁。这些信息,我都得通过代码告诉服务器。

然后,我就开始写发送邮件的具体代码。这里头,我定义一堆变量,像什么OLAPP、OLMail、MailBody等等,分别用来表示Outlook程序、邮件对象、邮件正文等等。发送邮件指令的时候,我用“MAIL FROM”表示发件人,“RCPT TO”表示收件人。数据传输时,我用“DATA”指令开始,然后用“.(CRLF).(CRLF)”结束邮件内容。发送完毕后,再用一个“QUIT”指令告诉服务器,我要断开连接。

我把这些逻辑都写进一个叫SendEmail的子程序里:

  • Option Explicit
  • Sub SendEmail()
  • Dim OLAPP As *
  • Dim OLMail As *
  • Dim MailBody As String
  • Dim c As Integer

这里还有一大段具体的逻辑代码,就不详细列举。我就是通过这些代码,让VB能够操纵Outlook发送邮件。

这个过程中,我还得处理各种可能出现的情况。比如说,邮件地址不对怎么办?网络断怎么办?发送失败怎么办?这些我都得考虑到,并且在代码里做好相应的处理。不过经过一番折腾,总算是把这个小程序给捣鼓出来。它已经能按照我的设想,定时从数据库里把邮件找出来,然后通过Outlook自动发出去。你们要是也想试试,可以照着我的步骤来,挺简单的!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]