📄 sendmail.asp
字号:
<%
'=========================================================
' 『动感在线』版权所有(C) Donggan.Net
' 您可以自由应用本程序于合法的个人或商业行为。
' 您必须保留版权信息。
'=========================================================
' Version:1.3
' Date: 2003-01-10
' Script Written by xubin
'=========================================================
' Copyright (C) 1999-2002 Donggan.Net. All rights reserved.
' Web: http://www.Donggan.net
' Email: webmaster@Donggan.net,webmaster@mail.Donggan.net
'=========================================================
%>
<!--#Include File="conn.asp" -->
<!--#Include File="procedure.asp" -->
<!--#Include File="Language.asp" -->
<%
Call loaderror()
Call showwebdata()
Call Language_var(Language,"sendmail")
Dim FromName,FromMail,ToMailCC,ToMailBCC,MailSubject,Attachment,UrlAttachment,MailBody,MailFormat,Priority,TimeMail,SEndYear,SEndMonth,SEndDay,SEndHour,SEndTime
Dim UseZujian,UseSMTP,UseName,UsePass,UseDate,SetGroup,SetLine,RecordID
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charSet=<%=Language_charSet%>">
<link rel="stylesheet" href="images/styles.css" type="text/css">
</head>
<body leftmargin="0" Topmargin="0" marginwidth="0" marginheight="0" background="images/greystrip.gIf">
<!--#Include File="head.asp" -->
<center>
<%
'设置超时时间
Server.scriptTimeout=999999
'获得发送邮件的内容及相关信息
FromName=trim(Request.Form("FromName"))
FromMail=trim(Request.Form("FromMail"))
ToMail=trim(Request.Form("ToMail"))
ToMailCC=trim(Request.Form("ToMailCC"))
ToMailBCC=trim(Request.Form("ToMailBCC"))
MailSubject=trim(Request.Form("MailSubject"))
Attachment=trim(Request.Form("Attachment"))
UrlAttachment=trim(Request.Form("UrlAttachment"))
MailBody=trim(Request.Form("MailBody"))
MailFormat=trim(Request.Form("MailFormat"))
Priority=trim(Request.Form("Priority"))
TimeMail=trim(Request.Form("TimeMail"))
SEndYear=trim(Request.Form("SEndYear"))
SEndMonth=trim(Request.Form("SEndMonth"))
SEndDay=trim(Request.Form("SEndDay"))
SEndHour=trim(Request.Form("SEndHour"))
UseData=trim(Request.Form("UseData"))
'获得发送邮件基本信息
Set rs=Server.Createobject("adodb.recordset")
sql="select FromName,FromMail,MailSubject,AdBody,SMTPHost,SMTPUser,SMTPPass,SetMailzj,ReplaceBody,SetGroup,SetLine from Management"
rs.open sql,conn,1,1
If FromName="" Then FromName=Rs("FromName")
If FromMail="" Then FromMail=Rs("FromMail")
If MailSubject="" Then MailSubject=Rs("MailSubject")
AdBody=Rs("AdBody")
SMTPHost=Rs("SMTPHost")
SMTPUser=Rs("SMTPUser")
SMTPPass=Rs("SMTPPass")
mailzj=Rs("Setmailzj")
ReplaceBody=Rs("ReplaceBody")
SetGroup=Rs("SetGroup")
SetLine=Rs("SetLine")
rs.close
'获得邮件地址总数量
Set rs=Server.Createobject("adodb.recordset")
sql="select id from mail"
rs.open sql,conn,1,3
MailCount=rs.recordcount
rs.close
'判断是否为定时发送邮件
If TimeMail="" Then
TimeMail=FALSE
Else
TimeMail=TRUE
End If
'如果发送人为空,则记录
If ToMail="" Then Call saverecord()
'如果开启变量替换则替换邮件内容
If ReplaceBody=TRUE Then Call replacemailbody()
'变量替换
Sub replacemailbody()
record_asp="http://"&Request.Servervariables("server_name")&replace(Request.Servervariables("url"),"sendmail.asp","record.asp")
MailBody=replace(MailBody,"//订阅人数//",MailCount)
MailBody=replace(MailBody,"//当前日期//",DATE())
MailBody=replace(MailBody,"//年//",YEAR(DATE()))
MailBody=replace(MailBody,"//月//",MONTH(DATE()))
MailBody=replace(MailBody,"//日//",DAY(DATE()))
MailBody=replace(MailBody,"//历史杂志//",record_asp)
End Sub
'保存群发历史记录
Sub saverecord()
Set rs=Server.CreateObject("Adodb.RecordSet")
sql="select * from record where (id is null)"
rs.open sql,conn,1,3
rs.addnew
Rs("FromName")=FromName
Rs("FromMail")=FromMail
Rs("MailSubject")=MailSubject
Rs("Attachment")=Attachment
Rs("UrlAttachment")=UrlAttachment
Rs("MailBody")=MailBody&vbcrlf&AdBody
Rs("MailFormat")=MailFormat
Rs("Priority")=Priority
Rs("TimeMail")=TimeMail
Rs("SEndYear")=SEndYear
Rs("SEndMonth")=SEndMonth
Rs("SEndDay")=SEndDay
Rs("SEndHour")=SEndHour
Rs("SEndTime")=NOW()
Rs("UseData")=UseData
Rs("MailCount")=MailCount
rs.update
RecordID=rs("id")
rs.close
End Sub
'获得EASYWEBMAIL邮件等级
Select Case Priority
Case 1
webmailPriority = "High"
Case 3
webmailPriority = "Normal"
Case 5
webmailPriority = "Low"
Case Else
webmailPriority = "Normal"
End Select
'计算组件定时发送格式
'If TimeMail Then
'sendtime = cdate(Request.Form("smonth")&"/"&Request.Form("sday")&"/"&Request.Form("syear")&" "&Request.Form("shour")&":"&Request.Form("sminute"))
'webmailtime = Request.Form("syear")&Request.Form("smonth")&Request.Form("syear")&Request.Form("shour")
'End if
%>
<!--#Include File="zujian.asp" -->
<%
Set rs=Server.Createobject("adodb.recordset")
sql="select mail from mail order by id"
rs.open sql,conn,1,1
rs.pagesize=SetGroup '设置每组N个邮件地址
pageall=rs.pagecount '根据 pagesize 的设置返回总页数
rs.close
Response.Write "<br>"&Language_sendmail(0)&frommail&"<br><br>"
If Tomail<>"" Then
'单发,发送邮件
Response.Write "<br>"&Language_sendmail(1)&Tomail
Call SEndmail()
Call ShowEnd()
Else
'群发邮件
Response.Write "<br>"&Language_sendmail(2)
If UseData = "TXT" Then
'TXT邮件数据群发邮件
on error resume Next
Dim objfso, objFile, data, i, sql, rootID, child, times
Set objfso=Server.Createobject("scripting.filesystemobject")
Set objFile=objfso.openTextFile(Server.mappath("Email.txt"))
data=split(objfile.readline,chr(1))
Tomail=date(0)
Call sendmail()
Do until objfile.atendofstream
Tomail=date(0)
Call sendmail()
Loop
Set objFile=nothing
Set fso=nothing
Call ShowEnd()
Else
'使用数据库多线程群组发送邮件
'线程最大为总页面
If Setline>pageall Then Setline=pageall
'创建多线程
For i=1 To Setline
Response.Write "<Iframe src=""groupsend.asp?RecordID="&RecordID&"&SetLine="&Setline&"&SetGroup="&SetGroup&"&page="&i&""" name=line height=25 width=100% scrolling=no marginwidth=0 marginheight=0 frameborder=no></Iframe><br>"
'如果线程超过总页面则退出
If i>=pageall Then Exit For
Next
End If 'TXT/ACCESS数据库 If UseData = "TXT" Then
End If '群发/单发 If Tomail<>"" Then
Sub ShowEnd()
If ErrStr <> "" Then %>
<br><br><br><FONT COLOR="#FF0000"><%=Language_sendmail(4)%><b><%=ErrStr%></b><br><%=Language_sendmail(5)%></FONT>
<% End If %>
<br><br><br><a href="send.asp"><%=Language_sendmail(6)%></a>
<%End Sub
'关闭销毁对象
Set rs=nothing
conn.close
Set conn=nothing
%>
</center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -