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

VisualBasic6中发送邮件的新方法

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
用VB6编写发送邮件的程序,有多种E-mail组件可供选择,如MAPIMessages、IIS4.0附带的CDONTS(NTSCollaborationDataObjects)以及许多第三方厂商开发的Email软件等。本文介绍用CDONTS开发VB下的邮件程序
用VB6编写发送邮件的程序,有多种E-mail组件可供选择,如MAPIMessages、IIS4.0附带的CDONTS(NTSCollaborationDataObjects)以及许多第三方厂商开发的Email软件等。本文介绍用CDONTS开发VB下的邮件程序方法。
  
  1.确认已安装SMTP服务器
  
  首先,必须确认在IIS服务器上已安装SMTP服务器,这是安装OptionPack时被缺省安装的选项。如果SMTP服务器已安装,在System32目录下会存在一个名为cdonts.dll的文件。
  
  2.最简单的邮件发送程序
  
  以下是一个最简单的邮件发送程序,它由me@hotmail.net向abc@263.net发出一封标题为“Title”、内容为“Hello”的E-mail:
  
  PrivateSubcmdSendMail_Click()
  
  DimobjMailasObject
  
  SetobjMail=CreateObject("CDFONTS.DLL")
  
  ObjMail.Send"me@hotmail.net","abc@263.net","Title","Hello"
  
  SetobjMail=nothing
  
  EndSub
  
  3.发送邮件附件
  
  如果有附加的文件需要随同邮件传送,可以使用CDONTS的AttachFile方法:
  
  PrivateSubcmdSendMail_Click()
  
  DimobjMailasObject
  
  SetobjMail=CreateObject("CDFONTS.DLL")
  
  WithObjMail
  
  .From="me@hotmail.net"
  
  .To="abc@263.net"
  
  .Subject="Title"
  
  .Body="Hello"
  
  .AttachFile"c:documentsample.doc","sample.doc"
  
  .Send
  
  EndWith
  
  SetobjMail=nothing
  
  EndSub
  
  4.CDONTS组件常用属性和方法
  
  CDONTS组件常用的属性和方法列举如下:
  
  属性:
  
  Version:返回CDONTS组件的版本号
  
  MailFormat:邮件格式,1-普通文本类型;0-MIME类型
  
  Cc:设置一个或多个参阅的邮件地址
  
  From:邮件发送者的地址
  
  To:邮件接受者的地址
  
  Subject:标题
  
  Body:内容
  
  BodyFormat:内容格式,1-普通文本;0-超文本
  
  
  
  方法:
  
  AttachFile:附加一个文件
  
  AttachURL:附加一个地址
  
  Send:发送邮件
  
  5.发送超文本格式的E-mail
  
  你一定见到过许多使用超文本格式的E-mail,其中不但可以有图片、声音,甚至还可以嵌入动画。如果给你的朋友也发送一封这样的邮件,一定会带给他(她)意外的惊喜,因为这用一般的邮件发送程序是无能为力的。以下使用CDONTS组件发送一个HTML格式的邮件,其中包含有一幅名为sample.gif的图片,程序如下:
  
  PrivateSubcmdSendMail_Click()
  
  DimobjMailasObject
  
  SetobjMail=CreateObject("CDFONTS.DLL")
  
  DimstrHTMLasString
  
  StrHTML="〈html〉〈head〉"
  
  StrHTML=StrHTML "〈title〉使用超文本格式的Email〈/title〉〈/head〉"
  
  StrHTML=StrHTML "〈body〉〈p〉〈strong〉用CDONTS发送Email的例子"
  
  StrHTML=StrHTML "〈imgsrc=sample.gif〉〈/strong〉〈/p〉"
  
  StrHTML=StrHTML "〈p〉以上例子嵌入了图片sample.gif〈/p〉"
  
  StrHTML=StrHTML "〈/body〉〈/html〉"
  
  WithObjMail
  
  .From="me@hotmail.net"
  
  .To="abc@263.net"
  
  .Subject="Title"
  
  .Body=strHTML
  
  .AttachURL"c:mydatasample.gif","sample.gif"
  
  .BodyFormat=0
  
  .EmailFormat=0
  
  .Send
  
  EndWith
  
  SetobjMail=nothing
  
  EndSub
  
  到这里,相信大家一定发现SMTP邮件处理的一个缺陷了。SMTP服务器接收你的输出消息,但并不做发送者名字和地址的验证,这本是由SMTP的异步发送机制所决定的,但有人可能别有用心地用它来假扮别人发送邮件!本文强烈建议各位切勿轻易试用,一旦让ISP知道你的行径,你的帐号极可能会被立即删除。->

精彩图集

赞助商链接