导航

风易博客

风萧萧兮易水寒, 壮士一去兮不复还。

« 打造自己的PJBLOGGoogle中国办公环境揭密(多图) »

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()

Sub Send()
On Error Resume Next '有错继续执行
'邮件内容
msg = "上海跳蚤市场今日推荐 "&Date()&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&"
今日推荐信息  "&Year(Date())&"年"&Month(Date())&"月"&Day(Date())&"日  上海跳蚤市场    
"&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&""&VBCRLF _
&"
 
"&VBCRLF _
&"
    "&VBCRLF _
    &"

    "
    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&"★ "_
    &rs("Strtitle")&"

    "&VBCRLF
    Rs.MoveNext
    Loop
    Rs.close : set Rs=Nothing
    msg = msg & "

"&VBCRLF _
&"
 
51Tiao.Com     

"

'取得邮件地址
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()&"

"
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

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright © 2005 - 2008 风易博客 1982Y.Net.Cn All Rights Reserved.  由Wind88.Net提供优质主机空间
沪ICP备05006417号

Search

控制面板

最新评论及回复

最近发表