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 = "<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>今日推荐信息  "&Year(Date())&"年"&Month(Date())&"月"&Day(Date())&"日  <a href=""http://www.51tiao.com"" target=""_blank""><FONT size=3><b>上海跳蚤市场</b></font></a>    </td></tr></table></div></td></tr></table>"&VBCRLF _ 
    &"<table width=640>"&VBCRLF _ 
    &"<tr bgColor='#FF9D5C'><td height=3></td></tr><tr><td> </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> </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>      </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)

相关推荐

  • 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 = Crea

  • asp.net基于windows服务实现定时发送邮件的方法

    本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; public int nowhour; public int minutes; public string sendTime; public Thread th; public string isOpen;//是否启用定时发送 public string strToEUser; public static i

  • Python3实现带附件的定时发送邮件功能

    本文实例为大家分享了Python3定时发送邮件功能的具体代码,供大家参考,具体内容如下 1. 导入模块 import os import datetime #定时发送,以及日期 import shutil #文件操作 import smtplib #邮件模块 from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header impo

  • .NET实现定时发送邮件代码(两种方式)

    有时候我们或许会遇到想在某一个时刻给别人发送一封邮件,就像是在生日的时候,但是我们又怕到时候忘记了,这时就应该 使用发送定时邮件的功能,但是这个定时发送邮件功能是怎么实现的呢?下面用两种方式实现.net定时发送邮件代码,具体请看下面内容. 实现思路.需求添加一个全局应用程序类Global.asax 代码会在访问网站时运行 Global.asax代码: void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Sys

  • VBS定时执行idea程序的Testng文件的方法

    背景: Windows环境cmd命令行执行TestNG文件,会报一些jar包路径问题,所以改用vbs打开idea程序的通过点击快捷键执行testng.xml文件. vbs代码如下: '第一部分:定义变量 Dim RunTime Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") '第二部分:输入等待的分钟数(默认:180分钟),等待结束后,会执行第三部分 RunTime = InputBox("P

  • node实现定时发送邮件的示例代码

    本文介绍了node实现定时发送邮件的示例代码,分享给大家,具体如下: 定时发送,可做提醒使用 nodemailer nodemailer 是一款简单易用的基于于SMTP协议(或 Amazon SES)的邮件发送组件 cron cron可以指定每隔一段时间执行指定的程序.也可以指定每天的某个时刻执行某个程序.还可以按照星期.月份来指定. npm install nodemailer -S npm install nodemailer-smtp-transport -S npm install cr

  • 简单用VBS调用企业微信机器人发定时消息的方法

    去年在企业微信群当中突然看到多了一个叫多群机器人的东西: 企业微信群机器人 以为是升级了什么黑科技,看了下说明,原来目前功能是一个接收自定义消息的Webhook接口,可以通过调用接口把自定义消息推送到机器人所在的群当中.虽然看上去很简单,想想还是挺有用的,于是简单尝试一下先做个定时提醒试试. 在群中添加机人很简单,点加号,再点添加机器人按钮,就可以创建一个群机器人了.可以给机器人起个名字,上传个头像,加个简单介绍.系统会自动生成一个Webhook调用地址,关于调用方法在配置说明里有详细说明. 添

  • SpringBoot实现定时发送邮件的三种方法案例详解

    目录 一.发送邮件的三种方法 二.定时任务介绍 1.@EnableScheduling 2.@Scheduled 三.前期准备工作 1.登录QQ邮箱获取授权码 第一步:进入QQ邮箱 第二步:找到POP3/SMTP,并开启 第三步:复制授权码 2.pom.xml中的依赖 3.在全局配置文件application.properties添加邮件服务配置 四.操作 一.创建邮件发送任务管理的业务处理类SendEmailService 二.在test类中发送邮件 三.发送定时邮件 四.在项目启动类上添加基

  • python实现定时发送邮件

    本文实例为大家分享了python实现定时发送邮件的具体代码,供大家参考,具体内容如下 一.发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header #引入smtplib.MIMETex和Header mailhost='smtp.qq.com' #把qq邮箱的服务器地址赋值到变量mailhost上,地址应为字符串格式 qqmail = smtplib.SMTP() #实例化一个

  • PHP实现发送邮件的方法(基于简单邮件发送类)

    本文实例讲述了PHP实现发送邮件的方法.分享给大家供大家参考,具体如下: 邮件发送类 <?php /*邮件发送类 *功能:使用smtp服务器发送邮件 */ class smtp { /* 全局变量 */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; /* 构造函数 */ fu

随机推荐