| ||||
在一次浏览微软新闻组的时候,看到有人在表扬Jmail。于是我就去下载了一个尝试,发现这个组件做得确实十分好。于是就拿来实现了BBS程序的贴子转发功能。在这里将介绍这个组件的使用方法。 W3 Jmail组件介绍 W3 Jmail是一个smtp组件,利用它可以发送邮件,支持html格式邮件。你可以访问主页:http://tech.dimac.net 下载这个组件。w3 Jmail 发送邮件速度快,功能丰富,并且是免费的。 JMail 使用环境 Webserver (IIS4/PWS4) Microsoft Windows NT / Windows 98 / Microsoft Windows 95 + Winsock 2.0 (Winsock 2.0可以去微软站点下载: http://www.microsoft.com/windows/downloads/bin/W95ws2setup.exe) 3.60版本的JMail的特性 Attachments 附件 Return Receipt发信回执 Detailed logging capabilities 详细日志能力 Priority settings 优先级设定 MIME with BASE64, UUEncode and Quoted-Printable Encoding 邮件编码设置 Queued mailings without separate NT service. 邮件队列发送,无需单独的NT服务 Unlimited redundant servers 没有限制的多余server(SMTP服务器) Blind Carbon Copy (BCC) 密送 Carbon Copy (CC) 抄送 Urgent flagging 紧急标志 US ASCII 和 ISO-8859-1 编码 UUEncoding UUEncode 编码 X-Headers and custom headers 自定义邮件头 MS Mail and Exchange priority headers. 微软Mail和Exchange优先权头 Internal MX lookup with MX priority and redundancy , 带MX优先权和冗余的Internet MX查找 JMail支持的日志功能是非常有用的。特别是当你在发送邮件的时候遇到困难的时候,就可以察看日志内容分析原因。 JMail 已经检查了下列2000年问题测试 2000-01-01 Bug - OK 2000-02-29 Bug - OK 2000-04-01 Bug - OK (Found in MS VCRT) JMAIL使用16位精度表示年,所以日期范围限制在 -32767~ 32768 Jmail 组件参考说明 组件使用方法: set oVar=Server.CreateOject(“jmail.smtpmail”) 下表列出了Jmail的属性 编号 属性名 类型 版本 用途 使用举例 1 Body String v3.0 信件体,正文,使用AppendText追加内容 JMail.Body = "Hello world" 2 Charset String v3.0 字符集,缺省为"US-ASCII" 简体中文是gb2312 Jmail.Charset = "US-ASCII" 3 ContentTransferEncoding String v3.0 指定内容传送时的编码方式,缺省是"Quoted-Printable"(例如ChinaASP=C2=DB=CC=B3 代表ChinaASP论坛,等于号后面的是gb码的16进制代码) Jmail.ContentTransferEncoding = "base64" 4 ContentType String v3.0 信件的contentype. 缺省是"text/plain",但是可以设置为其他你想要的类型。如果你以HTML格式发送邮件, 改为"text/html"即可。 JMail.ContentType = "text/html" 5 DeferredDelivery Date v3.0 设置延期发送. 如果邮件服务器支持的话,消息到了这个时间才会发送 (Javascript)Jmail.DeferredDelivery = new Date( 2000, 02, 17 ).getVarDate(); 6 Encoding String v3.0 这个属性可以用来改变附件编码方式(缺省是"base64). 可以选择使用的是"base64", "uuencode" or "quoted-printable" JMail.Encoding = "base64" 7 ErrorCode Integer v3.0 如果JMail.silent设置为true,ErrorCode包含的是错误代码 Response.Write( JMail.ErrorCode ); 8 ErrorMessage String v3.0 如果JMail.silent设置为true,包含的是错误信息 Response.Write( JMail.ErrorMessage ); 9 ErrorSource String v3.0 如果JMail.silent设置为true,包含的是错误的来源 Response.Write( JMail.ErrorSource ); 10 ISOEncodeHeaders String v3.0 是否将信头编码成iso-8859-1字符集. 缺省是true JMail.ISOEncodeHeaders = false 11 Lazysend Boolean v3.0 这个属性指定Jmail是否一直等到mail发送了然后返回,或者缓冲这条消息然后在后台发送。然而设置了这个属性,你就不能控制错误信息。 注意:如果选择了这个选项,属性ServerAddress将无效,lazysend将通过dsn查询决定邮件服务器, 在一些设置里面,这可能有问题。 JMail.LazySend = true; 12 Log String v3.0 Jmail创建的日志,如果loging属性设置为true Response.Write( JMail.Log ); 13 Logging String v3.0 是否使用日志 JMail.Logging = true 14 MailDomain String v3.0 改写发送到邮件服务器的EHLO/HELO命令 JMail.Maildomain = "hello.world.com" 15 MimeVersion String v3.0 指定mime版本。缺省是"1.0" JMail.MimeVersion = "1.0" 16 Priority Integer v3.0 优先级. 范围在1-5之间 1 高优先级. 有些邮件程序称之为紧急 2 也是高优先级 3 普通优先级 4 低优先级 5 最低的优先级 Jmail.Priority = 3 17 Recipients String v3.0 只读属性,返回所有收件人 Response.Write( "" + JMail.Recipients + "" ); 18 ReplyTo String v3.0 指定一个可选的回信地址 Jmail.ReplyTo = "president@dimac.net" 19 ReturnReceipt Boolean v3.0 指定是否发件人需要一个回复收据. 缺省是false Jmail.ReturnReceipt = true 20 Sender String v3.0 指定发件人的邮件地址 Jmail.Sender = "batman@dimac.net" 21 SenderName String v3.0 指定发件人的姓名 Jmail.SenderName = "Bat man" 22 ServerAddress String v3.0 指定邮件服务器的地址。可以指定多个服务器,用分号点开。可以指定端口号。 如果serverAddress保持空白,Jmail会尝试解决远程邮件服务器,然后直接发送到服务器上去。 Jmail.ServerAddress = "mail.mydom.net; mail2.mydom.net:2500" 23 Silent Boolean v3.0 如果设置为true,JMail不会抛出例外错误. JMail.execute() 会根据操作结果返回true或false Jmail.silent = true 24 SimpleLayout Boolean v3.0 设置为true,减少Jmail产生的header信头 Jmail.SimpleLayout = true 25 Subject String v3.0 设定消息的标题 Jmail.Subject = "Dimac rocks big time!" 26 UsePipelining Boolean v3.0 Overrides if Jmail should use pipelining on a server that supports it. Jmail.Pipelining = false 表9.3.1.1-1 Jmail属性列表 下表列出了Jmail的方法 编号 方法 版本 用途 使用举例 1 AddAttachment( FileName, [ContentType] ) v30 添加文件附件到信件 JMail.AddAttachment( "c://autoexec.bat" ); 2 AddCustomAttachment( FileName, Data ) v3.0 添加自定义附件. This can be used to attach "virtual files" like a generated text string or certificate etc. JMail.AddCustomAttachment( "readme.txt", "Contents of file" ); 3 AddHeader( XHeader, Value ) v3.0 添加用户定义的X-header到message JMail.AddHeader( "Originating-IP","193.15.14.623" ); 4 AddNativeHeader( Header, Value ) v3.0 添加信头 JMail.AddNativeHeader( "MTA-Settings", "route" ); 5 AddRecipient( Email ) v3.0 增加收件人 JMail.AddRecipient( "info@dimac.net" ); 6 AddRecipientBCC( Email ) v3.0 增加密送收件人 JMail.AddRecipientBCC( "someone@somedomain.net" ); 7 AddRecipientCC( Email ) v3.0 增加抄送收件人 JMail.AddRecipientCC( "someone@somedomain.net" ); 8 AddRecipientEx( Email, Name ) v3.0 增加一个带名字的收件人 JMail.AddRecipientEx( "info@dimac.net", "Dimac INFO" ); 9 AddURLAttachment( bstrURL, bstrAttachAs, [bstrAuth] ) v3.0 下载并添加一个来自url的附件. 第二个参数"AttachAs", 被用来指定信件收到后的文件名. 第3个可选参数是用来可选的WWW-鉴定. JMail.AddURLAttachment( "http://download.dimac.net/jmail/jmail.exe", "jmail.exe" ) 10 AppendBodyFromFile( FileName ) v3.0 将一个文件内容追加到正文后 JMail.AppendBodyFromFile( "c://mytext.txt" ); 11 AppendText( Text ) v3.0 追加信件的正文内容 JMail.AppendText( "Text appended to message Body" ); 12 ClearAttachments() v3.0 清除附件列表 JMail.ClearAttachments(); 13 ClearCustomHeaders() v3.0 清除所有自定义的信头 JMail.ClearCustomHeaders(); 14 ClearRecipients() v3.0 清除收件人列表 JMail.Close(); 15 Execute() :Boolean v3.0 执行邮件的发送 JMail.Execute(); 16 ExtractEmailAddressesFromURL( bstrURL, [bstrAuth] ) v3.0 从一个url下载和添加email地址 JMail.ExtractEmailAddressesFromURL( "http://duplo.org/generateEmailList.asp" ); 17 GetMessageBodyFromURL( bstrURL, [bstrAuth] ) v3.0 清除message的正文,并用url的内容替换。Contenttype 会自动设置成URl的contentyp。第二参数(login and password)是可选的。 JMail.GetMessageBodyFromURL( "http://duplo.org/", "login:password" ) 18 LogCustomMessage( Message ) v3.0 将用户自定义消息加入Jmail日志. 只有属性loging设置为true时,这项功能才能起作用 JMail.LogCustomMessage( "Hello world" ); 表9.3.1.1-2 Jmail方法列表 程序举例: 邮件发送到你的邮箱 ( ). 但是上面的例子存在这样的问题:由于邮件使用英文编码(缺省的),所以用outlook/outlook express收,看到的缺省页面中文是乱码,必须手工设置为简体中文(GB2312),才能正常阅读。其实我们只要在上面的程序Jmail.execute之前加上 Jmail.CharSet=”gb2312”,那么邮件的编码就是中文了。 还有一个问题是如何发送html格式的邮件。下面是发送html格式邮件的例子 Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.Charset = "gb2312" JMail.ContentType="text/html" JMail.ServerAddress =”mail.yourhost.com:25” JMail.Sender = “yourname@yourhost.com” JMail.Subject = “html格式的邮件” JMail.AddRecipient “myname@myhost.com” JMail.Body = “ 你好,谢谢你访问我们的网站” & _ JMail.Priority = 1 JMail.AddHeader "Originating-IP", _ Request.ServerVariables("REMOTE_ADDR") JMail.Execute set jMail=nothing |
W3 Jmail组件
最新推荐文章于 2024-09-11 16:48:28 发布