版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JMail实现邮件发送的解决方案星云电脑教程 文章来源:BK 整理:未知 更新时间:2006-9-2 9:24:34 【 有问必答 】W3 JMail 邮件组件是Dimac公司开发的用来完成邮件的发送、接收、加密和集群传输等工作的。w3 Jmail组件是国际最为流行的邮件组件之一,当今世界上绝大部分ASP程序员都在使用w3 Jmail组件构建邮件发送系统,那是因为w3 Jmail组件使用了新的内核技术,使其更加可靠和稳定。一、下面向读者介绍w3 Jmail4.3组件的新特性:1、 w3 Jmail4.3组件重新设计了其内部结构使用Message对象代替原来的单一对象Jm
2、ail.smtpmail发送邮件;2、 w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)这些对象中,绝大多数是针对Jmail.Message对象操作的;3、 支持从POP3邮件服务器收取邮件;4、 支持加密邮件的传输;5、 快速发送,一次会话就完成邮件发送;6、 还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件,还可以通过邮件合并(mailmerge)对象来个性化邮件。二、Jmail邮件组件的安装及卸载:1、
3、60; 安装跟使用别个组件一样,在使用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)连接POP
4、3服务器,断口可选,默认110。DeleteMessages()从邮件服务器上删除所有邮件。DeleteSingleMessage(MessageID)从邮件服务器上删除由MessageID指定的邮件。Disconnect()关闭跟邮件服务器的连接。 DownloadHeaders()从邮件服务器上读取所有的邮件头并传递给Messages集合。DownloadMessages()从邮件服务器读取所有邮件。DownloadSingleHeader(MessageID)从邮件服务器读取指定的邮件头并传递给Messages集合。DownloadUnreadMessages()从邮件服务器上读取所有未
5、读邮件。 2、.Messages对象属性(或方法)说明Clear()清除集合中的所有内容,并不会删除邮件服务器上的任何邮件。Count():Integer返回集合中记录的数目:I=Messages.CountItem(Index):Pointer返回一个Message对象。Set oMsg=Messages.Item(0) 3、.Message对象属性(或方法)说明AddAttachment(FileName,isInline,ContentType):String给邮件添加一个文件型的附件。isInline设置为True时,添加的这个附件就是一个可嵌入的附件。AddCus
6、tomAttachment(FileName,Data,isInline):String给邮件添加一个自定义类型的附件。AddHeader(Xheader,Value)给邮件添加一个自定义邮件头X-Header。AddNativeHeader(Header,Value)给邮件添加一个邮件头。AddRecipient(emailAddress,recipientName,PGPKey)给邮件添加一个收件人。RecipientName和PGPKey是可选项,RecipientName为收件人姓名,PGPKey给邮件加密。AddRecipientBCC(emailAddress,PGPKey)添加一
7、个邮件暗送人(BCC)位置。AddRecipientCC(emailAddress,recipientName,PGPKey)给邮件添加一个邮件抄送人(CC)位置。AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String从指定的URL下载文件并添加为邮件附件。参数bstrAttachAs是用来更改添加为邮件附件的文件名。AppendBodyFromFile(FileName)清除邮件正文,并把指定文件的内容作为邮件正文。AppendHTML(Text)从邮件追加HTML格式正文,如例所示:Message. AppendHTM
8、L(“<H3>Hello Word</H3>”)AppendText(Text)向邮件添加文本正文。Clear()清除所有邮件消息,是成为一个空对象。ClearAttachments()清除附件列表。如:Message.ClearAttachmentsClearCustomHeaders()清除所有自定义的邮件头。ClearRecipients()清除所有收件人位置列表。Close()释放Jmail与邮件服务器连接而使用的缓存(Cache)。DecodeHeader(Header):String输出一个邮件头消息。ExtractEmailAddressesFromURL
9、(bstrURL,bstrAuth)从指定的网制(URL)读取并添加邮件列表。GetMessageBodyFromURL(同上)删除邮件正文并用指定的URL的内容代替。KeyInformation(keyIdentifier):pointer返回一个PGPKey对象。LoadFromStream(Stream)从数据库流读取数据,该数据库流必须符合RFC822标准。LogCustomMessage(Message)给Jmail日志文件添加自定义日志。此函数只有在logging属性被设置为True时有效。Nq()将邮件追加到发送队列等待发送。ParseMessage(MessageSource)
10、解析一个邮件,数据流必须符合RFC822格式标准。SaveToStream(Stream)保存邮件到数据流,数据流必须符合RFC822格式标准。Send(MailServer,enque):Boolean发送邮件。邮件服务器是一个描述邮件服务器名称或位置的字符串,用户名和密码是可选项。当要发送认证邮件时使用格式为:用户名:密码邮件服务器SendToNewsGroup(ServerName,NewsGroup)使用指定的服务器发送邮件到新闻组,多个邮件用“,”隔开。About():string设置一些附加信息。Attachments():Pointer返回邮件的附件集合。Set Attachme
11、nts=Message.AttachmentsBody():String返回邮件正文。Response.Write (Message.Body)1 2 3 下一页 BodyText():String返回全部的文本正文。Response.Write (Message.BodyText)Charset():String设置邮件使用的字符集。默认为US-ASCII,支持中文则设置为GB2312。ContentTransferEncoding():String设置邮件编码。默认为:Quoted-Printable.ContentType():string返回正文类型。Da
12、te():Date返回邮件发送时间。DeferredDelivery():Date设置邮件定时发送。Encoding():String设置附件的默认编码:Base64或Quoted-PrintableEncryptAttachments():Boolean设置为True时,所有的附件都被加密,当然是编译器可用的情况下。其默认值为True.ErrorCode():Integer如果message.silent设置为True时,该函数包含错误号。ErroeMessage():String如果message.silent设置为True时,该函数包含错误描述。ErroeSource():String如
13、果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返回邮件的源代码。Mai
14、lDomain():String设置发送邮件时使用的邮件服务器。MailServerPassWord():String当邮件服务器使用SMTP发信认证时,该函数设置登录密码。MailServerUserName():String当邮件服务器使用SMTP发信认证时,该函数设置登录帐号。MimeVersion():String声明Mime版本,默认为1.0。MsPickupdirectory():String指定MS SMTP服务的Pickup文件夹的位置。PGPEncrypt():Boolean当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动加密。PGPSign():Boole
15、an当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动签名。Priority():Byte设置邮件的优先级:1、2和3Recipients():Pointer返回收件人集合。RecipientsString():String返回收件人集合(只读)。ReplyTo():String指定一个回复位置。Silent():Boolean当设置为True时,Send()方法就会忽略错误并不将错误信息返回给操作系统。SimpleLayout():Boolean当设置为True时,发信时Jmail不会添加邮件头到邮件里。Size():Integer返回邮件的总字节数。Subject():St
16、ring设置邮件标题。Text():string返回完整的邮件内容。Version():String 返回Jmal的版本信息。 4、 Headers对象属性(或方法)描述GetHeader(HeaderName):String返回指定的邮件头的值。Text():String返回所有的邮件头的值。 5、 Recipients对象属性(或方法)描述Add(Value)追加一个收件人到集合中。Clear()清除集合中的全部记录。Count():Integer返回集合中收件人的总数。Item(In
17、dex):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)添加一个附件到集合。Clea
18、r()清除集合中的全部附件。Count():Integer返回集合中附件的总数。Item(Index):Pointer返回集合中指定的附件。上一页 1 2 3 下一页 8、 Attachment对象属性(或方法)描述New(FileName,ContentType,Data):Pointer创建一个可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail将创建一个以Data参数为内容的自定义附件。SaveToFile(FileName)保存附件到硬盘。ContentType():String返回
19、附件类型(ContentType)Data():String返回附件的内容。BinaryData():String以二进制模式返回附件的内容。IsInline():Boolean如果附件被设置为可嵌入(inline),则返回True。Name():String返回附件的文件名称。Size():Integer返回附件的大小。 9、 MailMerge对象属性(或方法)描述BulkMerge(RecordSet,enque,Maildestination)参照邮件模板合并所有记录,要指定使用的pickuo文件夹或邮件服务器。Expand():Pointer参照用户
20、指定的方式合并邮件模板(mailTemplate)。ExpandFromRecordSet(RecordSet):Pointer参照邮件模板(mailTemplate)合并ADO对象中的一例。SetDebugMode(TestMailAddress,TestCount)将邮件合并(mailMerge)设置为测试模式。Item(VariableNmae):String手工设置合并参数。注意:该功能不使用于ADO数据例的合并。MailTemplate():Pointer设置一个创建好的Message对象,这个对象将被作为邮件合并的模板。MergeAttachments():Boolean当该属性设
21、置为 True时,附件被作为邮件合并的一个选项。 10、 PGPKeys对象属性(或方法)描述Count():Integer返回密码的总数。Item(Index):Pointer返回PGPKey信息对象。 11、 PGPKeyInfo对象属性(或方法)描述KeyCreateDate():String返回邮件密码创建的时间。KeyID():String返回密码的ID号。KeyUser():String返回创建密码的用户名。 12、 SpeedMailer对象属性(或方法)描述EnqueMail(
22、FromEmail,RecipientEmails,Subject,Body,MsPickupdirectory)添加一个邮件到发送队列。内容、主题等数据通过该方法的参数传递。SendMail(FromEMail,RecipientEMails,Subject,Body,MailServers)通过SMTP发送一封邮件。内容、主题等数据通过该方法的参数传递。SendXMLMail(XML)关于该函数的用法请访问:bbb:/ 四、利用Jmail4.3邮件组件发送邮件示例:通过以上的介绍,相信读者对Dimac W3 Jmail及其一些常用的对象已有了比较全面的了解。下面将通过一个例子来讲
23、解如何创建w3 Jmail对象,并使用它来创建一个新邮件,设置邮件的标题、内容等并发送该邮件。JmailSend.ASP<%Language=”VBScript”%><%Response.Buffer=True创建Jmail.Message对象实例oJmailSet oJmail=Server.CreateObject(“Jmail.Message”)启动日志功能oJmail.Logging=True不将错误返回给操作系统oJmail.Silent=True设置邮件发送者的邮件位置oJmail.From=”jackywen01163aaa”设置邮件发送者的姓名oJmail.F
24、romName=”小虎”设置接收邮件人的邮箱位置oJmail.AddRecipient “yourfriend163aaa”设置邮件标题oJmail.Subject=”邮件测试系统”邮件正文oJmail.Body=”朋友:”&vbCrLf&vbCrLf&”最近,我使用Jmail开发一个邮件发送系统。”发送邮件,Mail.myDomainaaa假设为SMTP服务器oJmail.Send(“Mail.myDomainaaa”)%> 接下来我们再来看一个比较简单的邮件接收系统。这个例子的执行过程,首先是从存放邮件的服务器上取出邮件,然后把它同附件一
25、起显示在Web也面上。JmailReceipt.ASP<% LANGUAGE=VBSCRIPT %><% Set pJmail = Server.CreateObject( "JMail.POP3" )pJmail.Connect "username", "passWord", "mail.mydomainaaa"Response.Write( "你有 " & pJmail.count & " 封新邮件<br><br>"
26、; )if pJmail.count > 0 thenSet msg = pJmail.Messages.item(1) ReTo = ""ReCC = ""Set Recipients = msg.Recipientsseparator = ", "For i = 0 To Recipients.Count - 1 If i = Recipients.Count - 1 Then separator = "" End
27、If Set re = Recipients.item(i) If re.ReType = 0 Then ReTo = ReTo & re.Name & " (" & re.EMail & ")" & separator else ReCC = ReTo & re.Name & " ("
28、& re.EMail & ")" & separator End IfNextFunction getAttachments() Set Attachments = msg.Attachments separator = ", " For i = 0 To Attachments.Count - 1 If i = Attachments.Count - 1 Then
29、0; separator = "" End If Set at = Attachments(i) at.SaveToFile( "c:fujian" & at.Name ) getAttachments = getAttachments & "<a href="././"/fujian/" &_ at.Name &""">" & at.Name & "(" & at.Size & " bytes)" &_ "</a>" & separator NextEnd Function%><HTML><body><TABLE>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 5 Here and Now (Period 2)Section A (2a-2e) (3)同步练2025-2026学年人教版英语七年级下册
- 新形势下节能涂料行业顺势崛起战略制定与实施分析报告
- 2025-2030年电子能谱仪行业盈利模式创新与变革分析研究报告
- 2025年阳原县网格员招聘考试真题
- 国有粮企人力规划项目升级成功案例|北京华恒智信方案
- 2025年保定定州市中山中学教师招聘考试试卷真题
- 保卫考试题及答案
- 2026调研执法面试题及答案
- 2026儿科入培面试题及答案
- 2026高速公安面试题目及答案
- 2026湖南衡阳市衡东县卫健系统招聘专业技术人员46人模拟试卷完整附答案详解
- 2026-2030国内铁路电气设备行业市场发展分析及竞争格局与投资机会研究报告
- 2026-2030中国建筑信息模型(BIM)行业发展状况与前景趋势研究报告
- 2026年学校会计高频面试题包含详细解答
- 2026年秋人教部编版三年级语文上册教案全册
- 后勤管理工作不足对照检查材料范文
- 多病共存患者安全管理
- (2026年)检验检测机构资质认定“一单一库”的学习与解读(2026年实施)课件
- 2026年新教材人教PEP版(2024)四年级下册英语期末测试卷(含答案)
- 外委施工公司级安全培训课件
- 高二上学期期末英语考前指导课件
评论
0/150
提交评论