可以被授權用戶引用的自動郵件發送腳本程序 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 可以被授權用戶引用的自動郵件發送腳本程序 (http://www.webasp.net/article/14/13709.htm) |
| -- 作者:未知 -- 發佈日期: 2004-10-11 |
| 呵呵,以前經常有朋友要我幫他們寫一個用服務器在後台發送郵件的程序,嫌麻煩,就在我自己的服務器上寫了一段代碼,以後別人要用服務器來發送郵件時,只需要在自己的程序中簡單的寫一行引用代碼就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的技術實現相差的太遠了,但使用起來的方式卻有點類似了. |
| webasp.net |