現(xiàn)在的這個(gè)項(xiàng)目需要用asp做定時(shí)郵件發(fā)送,好多人都說(shuō)asp沒(méi)有這樣的功能。
其實(shí)我在以前的一篇文章已經(jīng)做過(guò)詳細(xì)的解釋了,不過(guò)那個(gè)是定時(shí)任務(wù),基本思路是一樣的。
參考:ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法
這里我們使用JMail組件的方式來(lái)做,郵件的內(nèi)容為單個(gè)網(wǎng)頁(yè),可以自由定制。
下面我們看看定時(shí)郵件發(fā)送的代碼:
復(fù)制代碼 代碼如下:
Function getHTTPPage(url)
dim objXML
set objXML=createobject("MSXML2.SERVERXMLHTTP.3.0") '調(diào)用XMLHTTP組件,測(cè)試空間是否支持XMLHTTP
objXML.open "GET",url,false 'false表示以同步的方式獲取網(wǎng)頁(yè)代碼,了解什么是同步?什么是異步?
objXML.send() '發(fā)送
getHTTPPage=bBytesToBstr(objXML.responseBody)'返回信息,同時(shí)用函數(shù)定義編碼
set objXML=nothing'關(guān)閉
End Function
Function bBytesToBstr(body)
dim objstream
set objstream = CreateObject("adodb.stream") '//調(diào)用adodb.stream組件
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "GB2312"
'轉(zhuǎn)換原來(lái)默認(rèn)的UTF-8編碼轉(zhuǎn)換成GB2312編碼,否則直接用XMLHTTP調(diào)用有中文字符的網(wǎng)頁(yè)得到的將是亂碼
bBytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
end Function
Sub SendAction(subject,mailaddress,Tomail,sender,content,fromEmail,Fromer,UserName,PassWord)
Set oJmail=CreateObject("Jmail.Message")
oJmail.Logging=false
oJmail.Silent=True
oJMail.Priority = 3
oJmail.FromName=Fromer
oJmail.From= FromEmail
oJmail.CharSet="gb2312"
oJmail.MailServerUserName = UserName
oJmail.MailServerPassWord = PassWord
oJmail.ContentTransferEncoding = "base64"
oJMail.HTMLBody = content '郵件內(nèi)容
oJMail.Body =content'"我們的郵件采用了HTML格式,但是您的郵件查看軟件可能不支持"
oJmail.AddRecipient Tomail '收件人地址
oJmail.Subject = subject '標(biāo)題
oJmail.Send(mailaddress)
End Sub
dim Subject,MailAddress,ToEmail,Sender,FromEmail,Fromer,PassWord,oJmail,usernames,tomail
dim username,useremail
dim pass,content
dim mailname,mailpass,mailform,mailsmtp
mailname="xxx" 'smtp郵箱的賬號(hào)
mailpass="xxx" 'smtp郵箱的密碼
mailform="xxx" 'smtp郵箱的署名
mailsmtp="xxx" 'smtp郵箱的smtp
MailAddress=mailsmtp ': 發(fā)件服務(wù)器的地址,如smtp.163.com
Sender=title' : 發(fā)件人姓名
Content=content' : 郵件內(nèi)容
FromEmail=mailname' : 發(fā)件人郵件地址
Fromer=title ': 發(fā)件人姓名
UserName=mailform' : 發(fā)件郵件帳號(hào)
PassWord=mailpass' : 發(fā)件郵件密碼
'需要指定的內(nèi)容
content=getHTTPPage("https://www.jb51.net/")
Subject="標(biāo)題" ': 郵件標(biāo)題
Tomail="xxx" ': 收件人郵件地址
call SendAction(subject,mailaddress,Tomail,sender,content,fromEmail,Fromer,UserName,PassWord)
將這個(gè)文件設(shè)置為XXX.VBS以后放到數(shù)據(jù)庫(kù)定時(shí)執(zhí)行就可以了。
如果有什么不懂的可以直接問(wèn)MK。
您可能感興趣的文章:- ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法
- ASP是否可以定時(shí)觸發(fā)事件
- 如何準(zhǔn)確定時(shí)運(yùn)行ASP文件