vbs如何实现定时发送邮件-创新互联
本篇内容介绍了“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 _ &" " 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 _ &" | "&VBCRLF _
&"
|
|
"&VBCRLF _
&"51Tiao.Com |
"&VBCRLF _
&"
"
'取得邮件地址
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
“vbs如何实现定时发送邮件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
文章名称:vbs如何实现定时发送邮件-创新互联
转载来源:
http://mswzjz.cn/article/dscjpc.html