當前位置:開發者網絡 >> 技術教程 >> ASP教程 >> 郵件相關 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
可以被授權用戶引用的自動郵件發送腳本程序
作者:未知
日期:2004-10-11
人氣:
投稿:snow(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
呵呵,以前經常有朋友要我幫他們寫一個用服務器在後台發送郵件的程序,嫌麻煩,就在我自己的服務器上寫了一段代碼,以後別人要用服務器來發送郵件時,只需要在自己的程序中簡單的寫一行引用代碼就OK了!

有個前提:必須先在你自己的服務器上安裝一個郵件發送組件,我這兒用的是JMail,其它組件,可查看相應的函數說明修改一下我的程序即可.


程序語言: ASP(VBScript)
我的服務器地址:http://211.23.12.12 (為保密起見,此地址為杜撰)


服務器端程序SendMail.asp代碼如下:
'-------------------------------------------------
<font size=2 color=green>XXX應用程序服務提供商 自動郵件發送系統</font>
<hr height=1>
<BR><BR>
<%
'郵件發送服務器信息
Dim SmtpServer,Username,Password
SmtpServer="192.168.10.136" //SMTP服務器地址
Username="myusername" //服務器認證用戶名
Password="mypassword" //服務器認證密碼

'判斷使用此功能的用戶
Dim CanOK,url
CanOK=0
url=Request.ServerVariables("HTTP_REFERER")

'該表達式表示用戶http://www.liangdie.com被允許調用此功能,檢測調用此功能頁面是否為http://www.liangdie.com
if mid(url,1,Len("http://www.liangdie.com"))="http://www.liangdie.com" then
CanOK=1
end if

'該表達式表示用戶http://www.jscy.cn被允許調用此功能,檢測調用此功能頁面是否為http://www.jscy.cn
if mid(url,1,Len("http://www.jscy.cn"))="http://www.jscy.cn" then
CanOK=1
end if

'注意:如需加入其它授權用戶,只需依照上面的語法,加入相應的代碼即可

'開始發送郵件
if CanOK=1 then
set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true '日誌記錄
msg.silent = true '錯誤打開

msg.From = request("email")
msg.FromName = request("name")

msg.AddRecipient request("recieve"),""

msg.MailServerUserName = Username '輸入smtp服務器驗證登陸名 (郵局中任何一個用戶的Email地址)
msg.MailServerPassword = Password '輸入smtp服務器驗證密碼 (用戶Email帳號對應的密碼)
msg.Priority = 1 '郵件的緊急程序,1 為最快,5 為最慢, 3 為默認值
msg.Subject = request("subject")
msg.Body=request("body")
if not msg.Send(SmtpServer) then
Response.write "錯誤信息:<br>"
Response.write "<pre>" & msg.log & "</pre>"
else
response.write "<meta http-equiv=refresh content='3;URL=" & url & "'>"
Response.write "<p align=center><font size=2 color=black>郵件發送成功!3秒鐘後自動返回!</font></p>"

end if

else
response.write "<p align=center><font size=2 color=red>非法用戶或未授權用戶!</font></p>"
response.end
end if
%>
<hr height=1>
'-------------------------------------------------



調用處http://www.jscy.cn/feedback.htm代碼如下:
-------------------------------------------------
<form name="form" method="GET" action="http://211.23.12.12/SendMail.asp">
<input type=text name=email value="customer@liangdie.com">
<input type=text name=name value="customer@liangdie.com">
<input type=text name=body value="">
<input type=text name=subject value="">
<input type="submit" name="Submit" value="提 交" onclick="sendmsg.style.visibility='visible'">
<input type="reset" name="Submit2" value="清 除">
<p id=sendmsg align=center style="visibility:hidden"><font color=red>郵件正在發送,請稍侯......</font></p>
</form>
-------------------------------------------------
注意:在發送前須先檢查email變量是否為email格式,否則發送程序會報錯.在大多數情況下,客戶發送的表單信息可能會很多,可通過腳本將這些表單信息全組合到body變量中,再提交給服務器發送.


呵呵,其實當初寫完這個程序,覺的有點類似於Web Service的初級概念了,當然,如果純粹從技術角度出發來看這段程序,與Web Service的技術實現相差的太遠了,但使用起來的方式卻有點類似了.


相關文章: