asp空间判断jmail组件是否安装或支持的代码
asp空间判断jmail组件是否安装或支持的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:首先,必须有错误继续进行的声明OnErrorResumeNext然后尝试简历jmail实例:DimJMailSetJMail=Server....

首先,必须有错误继续进行的声明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>本邮件由系统自动发送,无须回复<><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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类