ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
可以被授权用户引用的自动邮件发送脚本程序

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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




相关文章

相关软件