使用VBS发邮件

NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
set Email = CreateObject("CDO.Message")
Email.From = "zmaxxxxxxx@126.com" '发信人地址
Email.To = "4965655555548@qq.com" '收信人地址(qq也可)
Email.Subject = "花三千" '邮件主题
x="E:\基础知识\一键收发邮件.txt" '发信内容写在e:\111.txt中
y="E:\小试牛刀\bat2.txt" '这是需发送的附件
Set fso=CreateObject("Scripting.FileSystemObject")
Set myfile=fso.OpenTextFile(x,1,Ture)
c=myfile.readall
myfile.Close
Email.Textbody = c
Email.AddAttachment y
with Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.126.com" '这是126邮箱的服务器地址
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "zmaxxxxxxx" '发信人用户名
.Item(NameSpace&"sendpassword") = "mmaxxxxxxx" '发信人密码
.Update
end with
Email.Send
Set Email=Nothing
出处:http://oraclequ.blog.163.com/blog/static/1901071022008726360560/
========================================================

原来的代码是这样的:
'By Jerry Ye
On Error Resume Next
f=InputBox("From Email:","msg","username@163.com")
smtp=InputBox("SMTP:","msg","smtp.163.com")
u=InputBox("User:","msg","username")
p=InputBox("Pass:","msg","password")
t=InputBox("To Email:","msg","username@126.com")
m=InputBox("邮件主题:","msg","Test send mail")
msg=InputBox("邮件内容:","msg","Send success")
j=InputBox("附件路径:","msg","C:\test.rar")
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = createObject("CDO.Message")
Email.From = f
Email.To = t
Email.Subject = m
Email.Textbody = msg
Email.AddAttachment j
With Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = smtp
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = u
.Item(NameSpace&"sendpassword") = p
.update
End With
Email.Send
出处:http://zhidao.baidu.com/link?url=cw_E07n8VhyxUqA2jWdLbnr1GbT4StICLYgH_GsZGZOmPv4m4NBAiI7kv789qFr1MclePeAiwLgP__LBpsHd_K
========================================================

'用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

上一篇:OneZero第五周第二次站立会议(2016.4.19)


下一篇:Linux Shell脚本编程while语句