Asp下定时发送邮件的思路 (VBS)

用VBS写个脚本,然后用WINDOWS平台下的计划任务来调用,每天定时群发邮件. 

 

代码如下:  下载地址 http://www.51tiao.com/info.vbs

 

Dim connstr,conn
Dim sql,rs,msg

Sub OpenDB()
 ConnStr = "DSN=51tiao.Com;UID=sa;PWD=;"
 If Not IsObject(Conn) Then
  Set conn = CreateObject("Adodb.Connection")
  Conn.Open ConnStr
 End If
End Sub

OpenDB()
Send()
CloseDB()

name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-9956502259183864&dt=1158942709781&lmt=1158942709&format=728x90_as&output=html&url=http%3A%2F%2Fblog.wind88.net%2Farticle.asp%3Fid%3D23&color_bg=F7F7F7&color_text=000000&color_link=000000&color_url=008000&color_border=F7F7F7&ad_type=text_image&ref=http%3A%2F%2Fblog.wind88.net%2F&cc=100&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_tz=480&u_his=16&u_java=true" frameborder="0" width="728" scrolling="no" height="90" allowtransparency="allowtransparency">

Sub Send()
 On Error Resume Next '有错继续执行
 '邮件内容
 msg = "<html><head><title>上海跳蚤市场今日推荐 "&Date()&"</title>"&VBCRLF _
 &"<META NAME=""Author"" CONTENT=""清风, QQ: 110125707, MSN: anwellsz@msn.com"">"&VBCRLF _
 &"<style type='text/css'>"&VBCRLF _
 &"<!--"&vbcrlf _
 &"td,form,select,input,p,table,.font {font-size: 12px;line-height: 20px}"&VBCRLF _
 &"a:link {  color: #000000;  font-size: 12px; text-decoration: none}"&VBCRLF _
 &"a:visited {  color: #000000; font-size: 12px; text-decoration: none}"&VBCRLF _
 &"a:hover {  color: #ff7f2c; font-size: 12px; text-decoration: underline}"&VBCRLF _
 &"-->"&VBCRLF _
 &"</style>"&VBCRLF _
 &"</head><body>"&VBCRLF _
 &"<table width=640>"&VBCRLF _
 &"<tr><td align=right>今日推荐信息&nbsp;&nbsp;"&Year(Date())&"年"&Month(Date())&"月"&Day(Date())&"日&nbsp; <a href=""http://www.51tiao.com"" target=""_blank""><FONT size=3><b>上海跳蚤市场</b></font></a>&nbsp;&nbsp;&nbsp;&nbsp;</td></tr></table></div></td></tr></table>"&VBCRLF _
 &"<table width=640>"&VBCRLF _
 &"<tr bgColor='#FF9D5C'><td height=3></td></tr><tr><td>&nbsp;</td></tr><tr>"&VBCRLF _
 &"<td>"&VBCRLF _
 &"  <ul>"&VBCRLF _
 &"    <p>"
 sql = "select distinct top 100 a.infoid,a.Strtitle from newinfoarticle a "_
 &"inner join Newinfoprop b "_
 &"on a.infoid = b.infoid and a.intgood = 1 and a.intshenhe = 1 and b.rid1 = 908 and datediff(d,createtime,getdate())=0 "_
 &"order by a.infoid desc"
 Set rs = conn.execute(sql)
 If rs.eof Then
  Wscript.Echo "没有记录!"
  rs.close : Set rs = Nothing
  Exit Sub
 End If
 Do While Not rs.eof
  msg = msg&"★ <a href=""http://www.51tiao.com/4/Show.asp?ID="&rs("infoid")&""" title = """&rs("strtitle")&""" target=""_blank"">"_
  &rs("Strtitle")&"</a><br>"&VBCRLF
 Rs.MoveNext
 Loop
 Rs.close : set Rs=Nothing
 msg = msg &  "</ul></p>"&VBCRLF _
 &"</td>"&VBCRLF _
 &"</tr><tr><td>&nbsp;</td></tr><tr bgColor='#FF9D5C'><td height=3></td></tr>"&VBCRLF _
 &"<tr align=right><td><a href=""http://www.51tiao.com"" target=""_blank""><FONT face='Arial Black' size=3>51Tiao.Com</FONT></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td></tr>"&VBCRLF _
 &"</table><p></p></body></html>"
 
 '取得邮件地址
 Dim i,total,jmail
 i = 1
 Dim BadMail '不接收的邮件列表 格式 '邮件地址','邮件地址'
 BadMail = "'123@163.com','122@126.com'"
 sql = "Select distinct b.stremail From userinfo a inner join userinfo_1 b "_
 &"on a.id = b.intuserid and b.stremail <> '' and (charindex('3',a.StruserLevel)>0 or charindex('4',a.StruserLevel)>0) "_
 &"and b.stremail not in ("&BadMail&") "_
 &"order by b.stremail"
 Set rs = CreateObject("Adodb.Recordset")
 rs.open sql,conn,1,1
 total = rs.recordcount
 If rs.eof Then
  Wscript.Echo "没有用户!"
  rs.close : Set rs = Nothing
  Exit Sub
 End If

 '每二十个邮件地址发送一次
 For i = 1 To total
  If i Mod 20 = 1 Then
   Set jmail = CreateObject("JMAIL.Message")   '建立发送邮件的对象
   'jmail.silent = true    '屏蔽例外错误,返回FALSE跟TRUE两值
    jmail.Logging = True    '记录日志
   jmail.Charset = "GB2312"     '邮件的文字编码
   jmail.ContentType = "text/html"    '邮件的格式为HTML格式或纯文本
  End If
  jmail.AddRecipient rs(0)
  If i Mod 20 = 0 Or i = 665 Then
   jmail.From = "info At 51tiao"   '发件人的E-MAIL地址
   jmail.FromName = "上海跳蚤市场"   '发件人的名称
   jmail.MailServerUserName = "info"     '登录邮件服务器的用户名 (您的邮件地址)
   jmail.MailServerPassword = "123123"     '登录邮件服务器的密码 (您的邮件密码)
   jmail.Subject = "上海跳蚤市场今日推荐 "&Year(Date())&"年"&Month(Date())&"月"&Day(Date())&"日"    '邮件的标题
   jmail.Body = msg      '邮件的内容
   jmail.Priority = 3      '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
   jmail.Send("mail.51tiao.com")     '执行邮件发送(通过邮件服务器地址)
   jmail.Close()  
   set jmail = Nothing
  End If
 rs.movenext
 Next
 rs.close : Set rs = Nothing
 
 '记录日志在C:/jmail年月日.txt
 Const DEF_FSOString = "Scripting.FileSystemObject"
 Dim fso,txt
 Set fso = CreateObject(DEF_FSOString)
 Set txt=fso.CreateTextFile("C:/jmail"&DateValue(Date())&".txt",true)
 txt.Write "邮件发送成功,共发送了"&total&"封邮件,发送于 "&Now()&"<Br><Br>"
 txt.Write jmail.log
 Set txt = Nothing
 Set fso = Nothing
 Wscript.Echo "邮件发送成功,共发送了"&total&"封邮件,发送于 "&Now()
End Sub

Sub CloseDB()
 If IsObject(conn) Then
  Conn.close : Set Conn = Nothing
 End If
End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值