金融it 发表于 2017-4-1 10:16:11

VBS自动发邮件带附件代码,附件可以动态名字,下载直接...


If Day(Now)<10 Then
    sDay="0" & Day(Now)
Else
    sDay=Day(Now)
End If

If Month(Now)<10 Then
    sMonth="0" & Month(Now)
Else
    sMonth=Month(Now)
End If
sDate=Year(Now) & sMonth & sDay
sFileName="C:\AppServer\RiskSvr\RiskFile\系统操作日志查询-" & sDate & ".csv"
sFileName2="C:\AppServer\RiskSvr\RiskFile\委托记录查询-" & sDate & ".csv"
sFileName3="C:\AppServer\RiskSvr\RiskFile\风控信息查询-" & sDate & ".csv"
sFileName4="C:\AppServer\RiskSvr\RiskFile\投资建议查询-" & sDate & ".csv"

Set fs = CreateObject("Scripting.FileSystemObject")
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = "邮箱地址"
Email.To = "目的地址"
Email.Subject = sDate
Email.Textbody = ""
if (fs.FileExists(sFileName)) then
Email.AddAttachment sFileName
end if
if (fs.FileExists(sFileName2)) then
Email.AddAttachment sFileName2
end if
if (fs.FileExists(sFileName3)) then
Email.AddAttachment sFileName3
end if
if (fs.FileExists(sFileName4)) then
Email.AddAttachment sFileName4
end if
With Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.qiye.163.com"
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "用户名"
.Item(NameSpace&"sendpassword") = "密码"
.Update
End With
Email.Send


如果发送不了,第一要注意的是 163邮箱有没有开通smtp/pop3 ,端口是不是25,现在很多邮箱默认都不开通smtp跟25端口了,如果开通了 输入的密码不是邮箱登陆密码是 客户端授权码
其他邮箱也要注意类似问题
页: [1]
查看完整版本: VBS自动发邮件带附件代码,附件可以动态名字,下载直接...