SendMail.asp
上传用户:jisenq
上传日期:2014-06-29
资源大小:7216k
文件大小:10k
源码类别:

数据库编程

开发平台:

ASP/ASPX

  1. <% Option Explicit %>
  2. <!--#include file="../FS_Inc/Const.asp" -->
  3. <!--#include file="../FS_Inc/Function.asp" -->
  4. <!--#include file="../FS_InterFace/MF_Function.asp" -->
  5. <!--#include file="lib/strlib.asp" -->
  6. <!--#include file="lib/UserCheck.asp" -->
  7. <%
  8. '==============================================================================
  9. '软件名称:风讯网站信息管理系统
  10. '当前版本:Foosun Content Manager System(FoosunCMS V3.1.0930)
  11. '最新更新:2005.10
  12. '==============================================================================
  13. 'Copyright (C) 2002-2004 Foosun.Net  All rights reserved.
  14. '商业注册联系:028-85098980-601,项目开发:028-85098980-606、609,客户支持:608
  15. '产品咨询QQ:394226379,159410,125114015
  16. '技术支持QQ:315485710,66252421 
  17. '项目开发QQ:415637671,655071
  18. '程序开发:四川风讯科技发展有限公司(Foosun Inc.)
  19. 'Email:service@Foosun.cn
  20. 'MSN:skoolls@hotmail.com
  21. '论坛支持:风讯在线论坛(http://bbs.foosun.net)
  22. '官方网站:www.Foosun.cn  演示站点:test.cooin.com 
  23. '网站通系列(智能快速建站系列):www.ewebs.cn
  24. '==============================================================================
  25. '免费版本请在程序首页保留版权信息,并做上本站LOGO友情连接
  26. '风讯公司保留此程序的法律追究权利
  27. Dim ObjInstalled,NewsID,Action,rs
  28. Function IsObjInstalled(strClassString)
  29. On Error Resume Next
  30. IsObjInstalled = False
  31. Err = 0
  32. Dim xTestObj
  33. Set xTestObj = Server.CreateObject(strClassString)
  34. If 0 = Err Then IsObjInstalled = True
  35. Set xTestObj = Nothing
  36. Err = 0
  37. End Function
  38. Function SendMail(SMTPServer,loginName,LoginPass,NameSendFrom,EmailSendFrom,StrSendTo,StrSubject,StrContent)
  39. 'On error resume next
  40. Dim ObjJmail,ArrSendTo,i
  41. If InStr(StrSendTo,",")>0 Then 
  42. ArrSendTo = Split(StrSendTo,",")
  43. Else
  44. ArrSendTo = Array(StrSendTo)
  45. End If 
  46. Set ObjJmail = Server.CreateObject("JMail.Message") 
  47. ObjJmail.Silent = True
  48. ObjJmail.Logging = True
  49. ObjJmail.Charset = "gb2312" 
  50. ObjJmail.MailServerUserName = LoginName 
  51. ObjJmail.MailServerPassword = LoginPass 
  52. ObjJmail.ContentType = "text/html" 
  53. ObjJmail.From = EmailSendFrom
  54. ObjJmail.FromName = NameSendFrom
  55. ObjJmail.Subject = StrSubject
  56. For i=LBound(ArrSendTo) To UBound(ArrSendTo)
  57. ObjJmail.AddRecipient ArrSendTo(i)
  58. Next 
  59. ObjJmail.Body = StrContent 
  60. ObjJmail.Priority = 3  '邮件的优先级,可以范围从1到5。越大的优先级约高
  61. ObjJmail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
  62. if not ObjJmail.Send(SMTPServer) then
  63. SendMail = false
  64. ' Response.Write("邮件发送失败,可能是服务器不支持JMAIL组件,请使用jmail4.3以上版本!<br>")
  65. Else
  66. SendMail = true
  67. ' Response.Write("邮件已经发送到你注册的邮箱中,请注意查收<br>")
  68. End If
  69. ObjJmail.Close
  70. Set ObjJmail=nothing   
  71. End Function
  72. '----
  73. function IsValidEmail(email)
  74. Dim regEx
  75. Set regEx = New RegExp
  76. regEx.Pattern = "(w|-|_|0-9|.| )+@{1}(w|0-9|.|-)+.[A-Za-z]{2,3}"
  77. regEx.IgnoreCase = True
  78. IsValidEmail = regEx.Test(email)
  79. Set regEx=Nothing
  80. end function
  81. ObjInstalled=IsObjInstalled("JMail.SMTPMail")
  82. Newsid= trim(Replace(request("id"),"'","''"))
  83. Action=trim(request("Action"))
  84. if Newsid="" then
  85. Response.write"<script>alert(""错误的参数!"");history.back();</script>"
  86.     Response.end
  87. end if
  88. sql="Select * from FS_NS_News where Newsid='"&Newsid&"'"
  89. set rs=server.createobject(G_FS_RS)
  90. rs.open sql,conn,1,3
  91. if rs.bof and rs.eof then
  92. Response.write"<script>alert(""找不到新闻!"");history.back();</script>"
  93. Response.end
  94. else
  95. if Action="MailToFriend" then
  96. call MailToFriend()
  97. else
  98. call main()
  99. end if
  100. end if
  101. rs.close
  102. set rs=nothing
  103. sub main()
  104. %>
  105. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  106. <html>
  107. <head>
  108. <title>发送电子邮件</title>
  109. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  110. </head>
  111. <link href="images/skin/Css_<%=Request.Cookies("FoosunUserCookies")("UserLogin_Style_Num")%>/<%=Request.Cookies("FoosunUserCookies")("UserLogin_Style_Num")%>.css" rel="stylesheet" type="text/css">
  112. <body>
  113. <table width="95%" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC">
  114.   <tr> 
  115.     <td bgcolor="#FFFFFF">
  116. <TABLE width="100%" border=0 cellpadding="6">
  117.         <TBODY>
  118.           <TR> 
  119.             <TD width=26><IMG src="images/GroupUser.gif" border=0></TD>
  120.             <TD class=f4>发送电子邮件</TD>
  121.           </TR>
  122.         </TBODY>
  123.       </TABLE>
  124.       <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  125.         <TBODY>
  126.           <TR> 
  127.             <TD bgColor=#ff6633 height=4><IMG height=1 src="" width=1></TD>
  128.           </TR>
  129.         </TBODY>
  130.       </TABLE></td>
  131.   </tr>
  132.   <tr> 
  133.     <td bgcolor="#FFFFFF">
  134. <form name="form1" method="post" action="">
  135.         <table cellpadding=6 cellspacing=1 border=0 width=90% class="border" align=center>
  136.           <tr> 
  137.       <td height="22" colspan=2 align=center valign=middle class="title"> <b>将本文告诉好友</b></td>
  138.     </tr>
  139.     <tr class="tdbg"> 
  140.       <td width="120" align="right"><strong>收信人姓名:</strong></td>
  141.       <td><input name="MailtoName" type="text" id="MailtoName" size="60" maxlength="20"> 
  142.         <font color="#FF0000">*</font></td>
  143.     </tr>
  144.     <tr class="tdbg"> 
  145.       <td width="120" align="right"><strong>收信人Email地址:</strong></td>
  146.       <td><input name="MailToAddress" type=text id="MailToAddress" size="60" maxlength="100"> 
  147.         <font color="#FF0000">*</font></td>
  148.     </tr>
  149.     <tr class="tdbg"> 
  150.       <td height="20" align="right"><strong>你的姓名:</strong></td>
  151.       <td height="20"> <input name="Username" type=text id="Username" value="<% =Fs_User.UserName%>" size="60" maxlength="100"></td>
  152.     </tr>
  153.     <tr class="tdbg"> 
  154.       <td height="20" align="right"><strong>你的Email地址:</strong></td>
  155.       <td height="20"><input name="Useremail" type=text id="Useremail" value="<% =Fs_User.Email%>" size="60" maxlength="100"></td>
  156.     </tr>
  157.     <tr class="tdbg"> 
  158.       <td width="120" height="60" align="right"><strong>新闻信息:</strong></td>
  159.       <td height="60">新闻标题:<font color="#FF0000"><strong><%= rs("NewsTitle") %></strong></font><br>
  160.         新闻作者:<%= rs("Author") %> <br>
  161.         发布时间:<%= rs("addtime") %> </td>
  162.     </tr>
  163.     <tr class="tdbg"> 
  164.       <td colspan=2 align=center><input name="Action" type="hidden" id="Action" value="MailToFriend"> 
  165.         <input name="filename" type="hidden" id="Newsid" value="<%=request("Newsid")%>"> 
  166.         <input type=submit value=" 发 送 " name="Submit" <% If ObjInstalled=false Then response.write "disabled" end if%>> 
  167.       </td>
  168.     </tr>
  169.     <%
  170. If ObjInstalled=false Then
  171. Response.Write "<tr><td height='40' colspan='2'><b><font color=red>对不起,因为服务器不支持 JMail组件! 所以不能使用本功能。</font></b></td></tr>"
  172. End If
  173. %>
  174.   </table>
  175. </form>
  176.     </td>
  177.   </tr>
  178.   <tr>
  179.     <td bgcolor="#F2F2F2"> 
  180.       <div align="center">
  181.        <!--#include file="Copyright.asp" -->
  182.       </div></td>
  183.   </tr>
  184. </table>
  185. </body>
  186. </html>
  187. <%end sub
  188. sub MailToFriend()
  189. Dim MailToName,MailToAddress
  190. '==============================================================================
  191. '加载 FS系统邮件配置
  192. Dim MailCfg,MF_Domain,MF_Site_Name,MF_eMail,MF_Mail_Server,MF_Mail_Name,MF_Mail_Pass_Word
  193. set MailCfg = Conn.execute("select top 1 MF_Domain,MF_Site_Name,MF_eMail,MF_Mail_Server,MF_Mail_Name,MF_Mail_Pass_Word from FS_MF_Config")
  194. if MailCfg.eof then
  195. response.Write "<script>alert('找不到配置信息,请与系统管理员联系.n请与系统供应商联系导入参数设置。by Foosun.CN');window.history.back();</script>"
  196. response.end
  197. MailCfg.close:set MailCfg=nothing
  198. else
  199. MF_Domain=MailCfg("MF_Domain")
  200. MF_Site_Name=MailCfg("MF_Site_Name")
  201. MF_eMail=MailCfg("MF_eMail")
  202. MF_Mail_Server=MailCfg("MF_Mail_Server")
  203. MF_Mail_Name=MailCfg("MF_Mail_Name")
  204. MF_Mail_Pass_Word=MailCfg("MF_Mail_Pass_Word")
  205. MailCfg.close:set MailCfg=nothing
  206. end if
  207. '===============================================================================
  208. MailToName=trim(request.form("MailToName"))
  209. MailToAddress=trim(request.form("MailToAddress"))
  210. if MailToName="" then
  211. Response.write "<script>alert(""收信人不能为空!"");history.back();</script>"
  212.         Response.end
  213. end if
  214. if IsValidEmail(MailToAddress)=False then
  215.     Response.write "<script>alert(""EMAIL地址有误!"");history.back();</script>"
  216.         Response.end
  217. end if
  218. Dim t_server,t_Name,t_Pwd,t_From,t_Efrom,t_to,t_ret,Subject,mailbody
  219. Subject="您的朋友"&request.Form("Username")&"从" & MF_Site_Name & "给您发来的新闻资料"
  220. mailbody=mailbody &"<style>A:visited { TEXT-DECORATION: none }"
  221. mailbody=mailbody &"A:active  { TEXT-DECORATION: none }"
  222. mailbody=mailbody &"A:hover   { TEXT-DECORATION: underline overline }"
  223. mailbody=mailbody &"A:link    { text-decoration: none;}"
  224. mailbody=mailbody &"A:visited { text-decoration: none;}"
  225. mailbody=mailbody &"A:active  { TEXT-DECORATION: none;}"
  226. mailbody=mailbody &"A:hover   { TEXT-DECORATION: underline overline}"
  227. mailbody=mailbody &"BODY   { FONT-FAMILY: 宋体; FONT-SIZE: 9pt;}"
  228. mailbody=mailbody &"TD    { FONT-FAMILY: 宋体; FONT-SIZE: 9pt }</style>"
  229. mailbody=mailbody &"<TABLE border=0 width='95%' align=center><TBODY><TR>"
  230. mailbody=mailbody &"<TD valign=middle align=top>"
  231. mailbody=mailbody &"--&nbsp;&nbsp;作者:"&rs("Author")&"<br>"
  232. mailbody=mailbody &"--&nbsp;&nbsp;发布时间:"&rs("addtime")&"<br><br>"
  233. mailbody=mailbody &"--&nbsp;&nbsp;"&rs("NewsTitle")&"<br>"
  234. mailbody=mailbody &""&rs("Content")&""
  235. mailbody=mailbody &"</TD></TR></TBODY></TABLE>"
  236. mailbody=mailbody &"<center><a href='" & "Http://"&MF_Domain & "'>" & MF_Site_Name & ",电子邮件"&request.Form("Useremail")&"</a>"
  237. t_server = MF_Mail_Server
  238. t_Name =MF_Mail_Name
  239. t_Pwd = MF_Mail_Pass_Word
  240. t_From = request.Form("Username")
  241. t_Efrom = MF_eMail
  242. t_to = request.Form("MailToAddress")
  243. ' Response.write subject & mailbody :response.End
  244. t_ret = SendMail(t_server,t_Name,t_Pwd,t_From,t_Efrom,t_to,Subject,mailbody)
  245. If t_ret=False Then
  246. response.Write("<script>alert('发送失败。n系统参数不正确。');history.back();</script>")
  247. response.end
  248. End If 
  249. if Err then '检测
  250. response.Write("<script>alert('发送失败n"&err.description&"');history.back();</script>")
  251. Err.clear
  252. response.end
  253. else
  254. response.Write("<script>alert('发送成功');window.history.back();</script>")
  255. response.end
  256. end if
  257. end sub
  258. %>