可以被授权用户引用的自动邮件发送脚本程序

呵呵,以前经常有朋友要我帮他们写一个用服务器在后台发送邮件的程序,嫌麻烦,就在我自己的服务器上写了一段代码,以后别人要用服务器来发送邮件时,只需要在自己的程序中简单的写一行引用代码就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="提 交" οnclick="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的技术实现相差的太远了,但使用起来的方式却有点类似了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值