主页 > 知识库 > 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 = "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

标签:长治 沈阳 河南 沧州 红河 上海 新疆 乐山

巨人网络通讯声明:本文标题《vbs定时发送邮件的方法与代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266