用VBA接收邮件.doc_第1页
用VBA接收邮件.doc_第2页
用VBA接收邮件.doc_第3页
用VBA接收邮件.doc_第4页
用VBA接收邮件.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用VBA+Jmail来收发邮件的资料终于在网上搜到关于Jmail收发邮件的好资料!经VBA方法测试已成功!不敢私藏。供大火研究。W3 JMail 邮件组件是Dimac公司开发的用来完成邮件的发送、接收、加密和集群传输等工作的。w3 Jmail组件是国际最为流行的邮件组件之一,当今世界上绝大部分ASP程序员都在使用w3 Jmail组件构建邮件发送系统,那是因为w3 Jmail组件使用了新的内核技术,使其更加可靠和稳定。 一、下面向读者介绍w3 Jmail4.3组件的新特性: 1、 w3 Jmail4.3组件重新设计了其内部结构使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件; 2、 w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)这些对象中,绝大多数是针对Jmail.Message对象操作的; 3、 支持从POP3邮件服务器收取邮件; 4、 支持加密邮件的传输; 5、 快速发送,一次会话就完成邮件发送; 6、 还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件,还可以通过邮件合并(mailmerge)对象来个性化邮件。 二、Jmail邮件组件的安装及卸载: 1、 安装 跟使用别个组件一样,在使用Jmail邮件组件之前要先安装或注册该组件Jmail.dll。具体注册方法,是先把Jmail.dll文件拷贝到硬盘的某一目录下(如C:JmailJmail.dll),然后执行命令Regsvr32 C:JmailJmail.dll即可。 2、 卸载 卸载组件是安装组件的相反动作,可以使用参数/U来卸载已安装的组件,执行命令Regsvr32 /U Jmail.dll即可。 三、详细介绍W3 Jmail组件的对象(12个): 1、.POP3对象 属性(或方法) 说明 Connect(Username,Password,Server,Port) 连接POP3服务器,断口可选,默认110。 DeleteMessages() 从邮件服务器上删除所有邮件。 DeleteSingleMessage(MessageID) 从邮件服务器上删除由MessageID指定的邮件。 Disconnect() 关闭跟邮件服务器的连接。 DownloadHeaders() 从邮件服务器上读取所有的邮件头并传递给Messages集合。 DownloadMessages() 从邮件服务器读取所有邮件。 DownloadSingleHeader(MessageID) 从邮件服务器读取指定的邮件头并传递给Messages集合。 DownloadUnreadMessages() 从邮件服务器上读取所有未读邮件。 2、.Messages对象 属性(或方法) 说明 Clear() 清除集合中的所有内容,并不会删除邮件服务器上的任何邮件。 Count():Integer 返回集合中记录的数目:I=Messages.Count Item(Index):Pointer 返回一个Message对象。Set oMsg=Messages.Item(0) 3、.Message对象 属性(或方法) 说明 AddAttachment(FileName,isInline,ContentType):String 给邮件添加一个文件型的附件。isInline设置为True时,添加的这个附件就是一个可嵌入的附件。 AddCustomAttachment(FileName,Data,isInline):String 给邮件添加一个自定义类型的附件。 AddHeader(Xheader,Value) 给邮件添加一个自定义邮件头X-Header。 AddNativeHeader(Header,Value) 给邮件添加一个邮件头。 AddRecipient(emailAddress,recipientName,PGPKey) 给邮件添加一个收件人。RecipientName和PGPKey是可选项,RecipientName为收件人姓名,PGPKey给邮件加密。 AddRecipientBCC(emailAddress,PGPKey) 添加一个邮件暗送人(BCC)地址。 AddRecipientCC(emailAddress,recipientName,PGPKey) 给邮件添加一个邮件抄送人(CC)地址。 AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String 从指定的URL下载文件并添加为邮件附件。参数bstrAttachAs是用来更改添加为邮件附件的文件名。 AppendBodyFromFile(FileName) 清除邮件正文,并把指定文件的内容作为邮件正文。 AppendHTML(Text) 从邮件追加HTML格式正文,如例所示:Message. AppendHTML(“Hello Word”) AppendText(Text) 向邮件添加文本正文。 Clear() 清除所有邮件消息,是成为一个空对象。 ClearAttachments() 清除附件列表。如:Message.ClearAttachments ClearCustomHeaders() 清除所有自定义的邮件头。 ClearRecipients() 清除所有收件人地址列表。 Close() 释放Jmail与邮件服务器连接而使用的缓存(Cache)。 DecodeHeader(Header):String 输出一个邮件头消息。 ExtractEmailAddressesFromURL(bstrURL,bstrAuth) 从指定的网制(URL)读取并添加邮件列表。 GetMessageBodyFromURL(同上) 删除邮件正文并用指定的URL的内容代替。 KeyInformation(keyIdentifier):pointer 返回一个PGPKey对象。 LoadFromStream(Stream) 从数据库流读取数据,该数据库流必须符合RFC822标准。 LogCustomMessage(Message) 给Jmail日志文件添加自定义日志。此函数只有在logging属性被设置为True时有效。 Nq() 将邮件追加到发送队列等待发送。 ParseMessage(MessageSource) 解析一个邮件,数据流必须符合RFC822格式标准。 SaveToStream(Stream) 保存邮件到数据流,数据流必须符合RFC822格式标准。 Send(MailServer,enque):Boolean 发送邮件。邮件服务器是一个描述邮件服务器名称或地址的字符串,用户名和密码是可选项。当要发送认证邮件时使用格式为:用户名:密码邮件服务器 SendToNewsGroup(ServerName,NewsGroup) 使用指定的服务器发送邮件到新闻组,多个邮件用“,”隔开。 About():string 设置一些附加信息。 Attachments():Pointer 返回邮件的附件集合。Set Attachments=Message.Attachments Body():String 返回邮件正文。Response.Write (Message.Body) NextPageBodyText():String 返回全部的文本正文。Response.Write (Message.BodyText) Charset():String 设置邮件使用的字符集。默认为US-ASCII,支持中文则设置为GB2312。 ContentTransferEncoding():String 设置邮件编码。默认为:Quoted-Printable. ContentType():string 返回正文类型。 Date():Date 返回邮件发送时间。 DeferredDelivery():Date 设置邮件定时发送。 Encoding():String 设置附件的默认编码:Base64或Quoted-Printable EncryptAttachments():Boolean 设置为True时,所有的附件都被加密,当然是编译器可用的情况下。其默认值为True. ErrorCode():Integer 如果message.silent设置为True时,该函数包含错误号。 ErroeMessage():String 如果message.silent设置为True时,该函数包含错误描述。 ErroeSource():String 如果message.silent设置为True时,该函数包含错误来源。 From():String 返回或设置发件人的Email地址。 FromName():String 返回或设置发件人的名字。 HtmlBody():String 返回或设置邮件正文的HTML部分。 ISOEncodeHeaders():Boolean 邮件头是否使用iso-8859-1编码。(默认为True) Log():String 当Logging为True时,该函数返回创建的日志。 Logging():Boolean 是否启用日志。Message.Logging=True时,启用日志。 MailData():String 返回邮件的源代码。 MailDomain():String 设置发送邮件时使用的邮件服务器。 MailServerPassWord():String 当邮件服务器使用SMTP发信认证时,该函数设置登录密码。 MailServerUserName():String 当邮件服务器使用SMTP发信认证时,该函数设置登录帐号。 MimeVersion():String 声明Mime版本,默认为1.0。 MsPickupdirectory():String 指定MS SMTP服务的Pickup文件夹的位置。 PGPEncrypt():Boolean 当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动加密。 PGPSign():Boolean 当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动签名。 Priority():Byte 设置邮件的优先级:1、2和3 Recipients():Pointer 返回收件人集合。 RecipientsString():String 返回收件人集合(只读)。 ReplyTo():String 指定一个回复地址。 Silent():Boolean 当设置为True时,Send()方法就会忽略错误并不将错误信息返回给操作系统。 SimpleLayout():Boolean 当设置为True时,发信时Jmail不会添加邮件头到邮件里。 Size():Integer 返回邮件的总字节数。 Subject():String 设置邮件标题。 Text():string 返回完整的邮件内容。 Version():String 返回Jmal的版本信息。 4、 Headers对象 属性(或方法) 描述 GetHeader(HeaderName):String 返回指定的邮件头的值。 Text():String 返回所有的邮件头的值。 5、 Recipients对象 属性(或方法) 描述 Add(Value) 追加一个收件人到集合中。 Clear() 清除集合中的全部记录。 Count():Integer 返回集合中收件人的总数。 Item(Index):Pointer 返回集合中的一个指定的收件人。 6、 Recipient对象 属性(或方法) 描述 New(Name,Email,recipientType):Pointer 创建一个可以添加到收件人集合中Recipients的收件人。 Email():String 返回收件人的邮件。 Name():String 返回收件人的姓名。 ReType():Integer 返回收件人模式(收件人To=0,抄送CC=1,暗送BCC=2)。 7、 Attachments对象 属性(或方法) 描述 Add(Attachment) 添加一个附件到集合。 Clear() 清除集合中的全部附件。 Count():Integer 返回集合中附件的总数。 Item(Index):Pointer 返回集合中指定的附件。NextPage 8、 Attachment对象 属性(或方法) 描述 New(FileName,ContentType,Data):Pointer 创建一个可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail将创建一个以Data参数为内容的自定义附件。 SaveToFile(FileName) 保存附件到硬盘。 ContentType():String 返回附件类型(ContentType) Data():String 返回附件的内容。 BinaryData():String 以二进制模式返回附件的内容。 IsInline():Boolean 如果附件被设置为可嵌入(inline),则返回True。 Name():String 返回附件的文件名称。 Size():Integer 返回附件的大小。 9、 MailMerge对象 属性(或方法) 描述 BulkMerge(RecordSet,enque,Maildestination) 参照邮件模板合并所有记录,要指定使用的pickuo文件夹或邮件服务器。 Expand():Pointer 参照用户指定的方式合并邮件模板(mailTemplate)。 ExpandFromRecordSet(RecordSet):Pointer 参照邮件模板(mailTemplate)合并ADO对象中的一例。 SetDebugMode(TestMailAddress,TestCount) 将邮件合并(mailMerge)设置为测试模式。 Item(VariableNmae):String 手工设置合并参数。注意:该功能不使用于ADO数据例的合并。 MailTemplate():Pointer 设置一个创建好的Message对象,这个对象将被作为邮件合并的模板。 MergeAttachments():Boolean 当该属性设置为 True时,附件被作为邮件合并的一个选项。 10、 PGPKeys对象 属性(或方法) 描述 Count():Integer 返回密码的总数。 Item(Index):Pointer 返回PGPKey信息对象。 11、 PGPKeyInfo对象 属性(或方法) 描述 KeyCreateDate():String 返回邮件密码创建的时间。 KeyID():String 返回密码的ID号。 KeyUser():String 返回创建密码的用户名。 12、 SpeedMailer对象 属性(或方法) 描述 EnqueMail(FromEmail,RecipientEmails, Subject,Body,MsPickupdirectory) 添加一个邮件到发送队列。内容、主题等数据通过该方法的参数传递。 SendMail(FromEMail,RecipientEMails, Subject,Body,MailServers) 通过SMTP发送一封邮件。内容、主题等数据通过该方法的参数传递。 SendXMLMail(XML) 关于该函数的用法请访问:四、利用Jmail4.3邮件组件发送邮件示例: 通过以上的介绍,相信读者对Dimac W3 Jmail及其一些常用的对象已有了比较全面的了解。下面将通过一个例子来讲解如何创建w3 Jmail对象,并使用它来创建一个新邮件,设置邮件的标题、内容等并发送该邮件。JmailSend.asp 接下来我们再来看一个比较简单的邮件接收系统。这个例子的执行过程,首先是从存放邮件的服务器上取出邮件,然后把它同附件一起显示在WEB也面上。 JmailReceipt.asp % Set pJmail = Server.CreateObject( JMail.POP3 ) pJmail.Connect username, password, Response.Write( 你有 & pJmail.count & 封新邮件 ) if pJmail.count 0 then Set msg = pJmail.Messages.item(1) ReTo = ReCC = Set Recipients = msg.Recipients separator = , For i = 0 To Recipients.Count - 1 If i = Recipients.Count - 1 Then separator = End If Set re = Recipients.item(i) If re.ReType = 0 Then ReTo = ReTo & re.Name & ( & re.EMail & ) & separator else ReCC = ReTo & re.Name & ( & re.EMail & ) & separator End If Next Function getAttachments() Set Attachments = msg.Attachments separator = , For i = 0 To Attachments.Count - 1 If i = Attachments.Count - 1 Then separator = End If Set at = Attachments(i) at.SaveToFile( c:fujian & at.Name ) getAttachments = getAttachments & & at.Name & ( & at.Size & bytes) &_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论