asp空间判断jmail组件是否安装或支持的代码

时间:2011-02-16 10:49:00 

首先,必须有错误继续进行的声明On Error Resume Next
然后尝试简历jmail实例:
Dim JMail
Set JMail=Server.CreateObject("JMail.Message")

对实例做出判断,如果组件没有安装成功,则没有创建实例:
If JMail Is Nothing Then
Response.Write "不支持"
Else
Response.Write "支持"
End If

其他组件同样处理,非常简单了。
最好在global文件中处理,里面使用的时候不用那么麻烦了。
最好的方法把邮件生成放到一个表里,然后再说发送的事情。
代码如下:


Function IsObjInstalled(strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj
Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function


判断代码:
if IsObjInstalled("JMail.Message")=True then{
if IsObjInstalled("JMail.Message") =True then
SendStat = Jmail("***@jb51.net","来自网上的客户留言","<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312""><title>网站用户留言</title></head><body>留言人:"&txtname&"<br>性别:"&xingbie&"<br>咨询网站:"&txtweb&"<br>联系方式:"&txttel&"<br>留言内容:"&content&"<br>IP地址:"&ipaddress&"<br>留言时间:"&now()&"<br><br>本邮件由系统自动发送,无须回复<!--脚本之家www.jb51.net--><br><br></body></html>","GB2312","text/html")
end if
}

jmail发信函数

代码如下:


' ============================================
' jmail发送邮件
' ============================================
Function Jmail(mailTo,mailTopic,mailBody,mailCharset,mailContentType)

'入口参数:
'    mailTo 收件人email地址
'    mailTopic 邮件主题
'    mailBody 邮件正文(内容)
'    mailCharset 邮件字符集,例如GB2312或US-ASCII
'    mailContentType 邮件正文格式,例如text/plain或text/html
'返回值:
'    字符串,发送成功后返回OK,不成功返回错误信息
'使用方法:
'    1)设置好常量,即以Const开头的变量
'    2)使用类似如下代码发信
'Dim SendStat
'SendStat = Jmail("aa@163.com","测试Jmail","这是一封<br/>测试信!","GB2312","text/html")
'Response.Write SendStat

'***************根据需要设置常量开始*****************
Dim ConstFromNameCn,ConstFromNameEn,ConstFrom,ConstMailDomain,ConstMailServerUserName,ConstMailServerPassword

ConstFromNameCn = "彩票网"'发信人中文姓名(发中文邮件的时候使用),例如‘张三'
ConstFromNameEn = "bc5"'发信人英文姓名(发英文邮件的时候使用),例如‘zhangsan'
ConstFrom = "jb51@163.com"'发信人邮件地址,例如‘zhangsan@163.com'
ConstMailDomain = "smtp.163.com"'smtp服务器地址,例如smtp.163.com
ConstMailServerUserName = "jb51@163.com"'smtp服务器的信箱登陆名,例如‘zhangsan'。注意要与发信人邮件地址一致!
ConstMailServerPassword = "www.jb51.net"'smtp服务器的信箱登陆密码
'***************根据需要设置常量结束*****************
'-----------------------------以下内容无需改动------------------------------
On Error Resume Next
Dim myJmail
Set myJmail = Server.CreateObject("JMail.Message")
myJmail.Logging = False'记录日志
myJmail.ISOEncodeHeaders = False'邮件头不使用ISO-8859-1编码
myJmail.ContentTransferEncoding = "base64"'邮件编码设为base64
myJmail.AddHeader "Priority","3"'添加邮件头,不要改动!
myJmail.AddHeader "MSMail-Priority","Normal"'添加邮件头,不要改动!
myJmail.AddHeader "Mailer","Microsoft Outlook Express 6.00.2800.1437"'添加邮件头,不要改动!
myJmail.AddHeader "MimeOLE","Produced By Microsoft MimeOLE V6.00.2800.1441"'添加邮件头,不要改动!
myJmail.Charset = mailCharset
myJmail.ContentType = mailContentType

If UCase(mailCharset) = "GB2312" Then
myJmail.FromName = ConstFromNameCn
Else
myJmail.FromName = ConstFromNameEn
End If

myJmail.From = ConstFrom
myJmail.Subject = mailTopic
myJmail.Body = mailBody
myJmail.AddRecipient mailTo
myJmail.MailDomain = ConstMailDomain
myJmail.MailServerUserName = ConstMailServerUserName
myJmail.MailServerPassword = ConstMailServerPassword
myJmail.Send ConstMailDomain
myJmail.Close
Set myJmail=nothing

If Err Then
Jmail=Err.Description
Err.Clear
Else
Jmail="OK"
End If

On Error Goto 0
End Function


标签:jmail组件,asp
0
投稿

猜你喜欢

  • 详解python数组中的符号...与:符号的不同之处

    2022-10-14 19:12:37
  • 使用正则表达式找出不包含特定字符串的条目

    2010-03-02 22:06:00
  • 对python字典过滤条件的实例详解

    2022-01-28 14:02:30
  • Linux 7下脚本安装配置oracle 11g r2教程

    2024-01-13 13:35:56
  • Python中安装easy_install的方法

    2022-06-22 20:30:00
  • Python矩阵常见运算操作实例总结

    2021-05-29 18:26:38
  • 如何使用python读取Excel指定范围并转为数组

    2023-06-13 15:21:10
  • laravel接管Dingo-api和默认的错误处理方式

    2023-11-21 23:29:37
  • VBScript WeekdayName 函数语法

    2008-01-25 19:25:00
  • Python使用try except处理程序异常的三种常用方法分析

    2021-12-25 22:51:24
  • 如何使用数组来显示下拉菜单?

    2010-05-16 15:19:00
  • 利用Python实现热力图的绘制

    2021-11-07 12:02:47
  • MySQL数据库中CHAR与VARCHAR之争

    2011-05-05 16:33:00
  • 详细解读Python的web.py框架下的application.py模块

    2021-06-24 22:28:47
  • 多维度导航探秘II

    2010-08-17 21:24:00
  • 多个datatable共存造成多个表格的checkbox都被选中

    2024-05-11 09:18:42
  • python调试模块ipdb详解

    2021-11-05 19:59:01
  • 一篇文章让你搞清楚JavaScript事件循环

    2024-04-19 09:53:02
  • 在Django中进行用户注册和邮箱验证的方法

    2022-02-01 16:18:35
  • MySQL主键约束和外键约束详解

    2024-01-18 08:10:41
  • asp之家 网络编程 m.aspxhome.com