可以被授權使用者引用的自動郵件發送指令碼程式

來源:互聯網
上載者:User
程式|指令碼 呵呵,以前經常有朋友要我幫他們寫一個用伺服器在後台發送郵件的程式,嫌麻煩,就在我自己的伺服器上寫了一段代碼,以後別人要用伺服器來發送郵件時,只需要在自己的程式中簡單的寫一行引用代碼就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的技術實現相差的太遠了,但使用起來的方式卻有點類似了.




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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