asp空間判斷jmail組件是否安裝或支援的代碼_應用技巧

來源:互聯網
上載者:User
首先,必須有錯誤繼續進行的聲明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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.