VBS中用CDO.Message发送邮件的实现代码

 更新时间:2011年01月21日 23:15:40   作者:  
曾经在编写VBS版U盘小偷程序的时候Google过怎么用VBS发送E-Mail,不知道为什么当时Google不到,可能是眼花了吧。
使用CDO.Message对象就可以实现,示例代码演示的是gmail发送纯文本并带附件的邮件,至于其他的电子邮箱,需要修改代码中对应的smtp服务器和端口,原理也是一样的,就不举例了。贴出来的代码没有写注释,需要看注释的请下载源码。
复制代码 代码如下:

Const Email_From = "still.demon@gmail.com"
Const Password = "password"
Const Email_To = "380401911@qq.com"
Set CDO = CreateObject("CDO.Message")
CDO.Subject = "From Demon"
CDO.From = Email_From
CDO.To = Email_To
CDO.TextBody = "Hello world!"
cdo.AddAttachment = "C:\hello.txt"
Const schema = "http://schemas.microsoft.com/cdo/configuration/"
With CDO.Configuration.Fields
.Item(schema & "sendusing") = 2
.Item(schema & "smtpserver") = "smtp.gmail.com"
.Item(schema & "smtpauthenticate") = 1
.Item(schema & "sendusername") = Email_From
.Item(schema & "sendpassword") = Password
.Item(schema & "smtpserverport") = 465
.Item(schema & "smtpusessl") = True
.Item(schema & "smtpconnectiontimeout") = 60
.Update
End With
CDO.Send

详细注释版:
复制代码 代码如下:

'Date: 2010/6/18
'Author: Demon
'QQ: 380401911
'E-mail: still.demon@gmail.com
'Website: http://demon.tw

Const Email_From = "ddd@163.com" '发件人邮箱
Const Password = "password" '发件人邮箱密码
Const Email_To = "380401911@qq.com" '收件人邮箱

Set CDO = CreateObject("CDO.Message") '创建CDO.Message对象
CDO.Subject = "From Demon" '邮件主题
CDO.From = Email_From '发件人地址
CDO.To = Email_To '收件人地址
CDO.TextBody = "Hello world!" '邮件正文
cdo.AddAttachment = "C:\hello.txt" '邮件附件文件路径
Const schema = "http://schemas.microsoft.com/cdo/configuration/" '规定必须是这个,我也不知道为什么

With CDO.Configuration.Fields '用with关键字减少代码输入
.Item(schema & "sendusing") = 2 '使用网络上的SMTP服务器而不是本地的SMTP服务器
.Item(schema & "smtpserver") = "smtp.gmail.com" 'SMTP服务器地址
.Item(schema & "smtpauthenticate") = 1 '服务器认证方式
.Item(schema & "sendusername") = Email_From '发件人邮箱
.Item(schema & "sendpassword") = Password '发件人邮箱密码
.Item(schema & "smtpserverport") = 465 'SMTP服务器端口
.Item(schema & "smtpusessl") = True '是否使用SSL
.Item(schema & "smtpconnectiontimeout") = 60 '连接服务器的超时时间
.Update '更新设置
End With

CDO.Send '发送邮件

原文:http://demon.tw/programming/vbs-send-email.html

相关文章

  • 非常棒的lcx写的非常规运行vbs

    非常棒的lcx写的非常规运行vbs

     这期专栏依旧是vbs,估计大家会有点烦,那我们来点有意思的吧。vbs有一个对像是“SAPI.SpVoice”,可以用它来讲英语的
    2008-02-02
  • Vbs COM之打开/保存文件脚本代码

    Vbs COM之打开/保存文件脚本代码

    COM组件在系统里是一直存在的,利用它,我们的用户体验将会提升很多。
    2009-03-03
  • vbs得没公开对象

    vbs得没公开对象

    vbs得没公开对象...
    2006-06-06
  • TCP版backshell的VBS脚本代码

    TCP版backshell的VBS脚本代码

    TCP版backshell的VBS脚本
    2008-05-05
  • VBS中FileSystemObject对象详解(完整版)

    VBS中FileSystemObject对象详解(完整版)

    今天在脚本之家看了几篇关于vbs FileSystemObject的一些资料,发现不够详细与完整这里刚好发现了一篇更好的文章特整理一下,需要的朋友可以参考下
    2018-12-12
  • 可以将Bat转换位VBS文件的VBS脚本

    可以将Bat转换位VBS文件的VBS脚本

    可以将Bat转换位VBS文件的VBS脚本...
    2007-07-07
  • vbs结合wget 实现下载网站图片

    vbs结合wget 实现下载网站图片

    本文主要实现了使用vbs脚本调用wget,下载网站所有页面到本脚本目录,并扫描本脚本目录中所有文件,读取本脚本目录中的所有网页,匹配图片 URL 地址,保存所有图片 URL 地址到 url-img.txt 文件,然后调用wget: 下载 url-img.txt 指定的图片到本脚本 img 目录
    2014-09-09
  • 使用VBS修改二进制文件HEX数据

    使用VBS修改二进制文件HEX数据

    利用VBS修改二进制文件HEX数据。第一个参数为原文件,第二个参数为修改后的文件,第三个参数为原HEX值,第四个参数为修改后的HEX值
    2013-07-07
  • VBScript开发自动化测试脚本的方法分析

    VBScript开发自动化测试脚本的方法分析

    很多人都觉得微软的VBScript功能比较弱,如果从开发自动化测试的角度来讲,更是不可能了。从我对VBScript脚本的了解来看,对一个脚本是否可以做自动化测试需要这个测试人员具备两方面的知识,第一个,就是对VBScript脚本开发语言精通,要了解VBScript的核心技术如何更广泛的应用;第二个,就是要有自动化的测试思想,这个一定得是做过测试工作的能够了解的多一些。
    2008-03-03
  • vbScript中WScript.Shell对象的run和exec使用心得分享

    vbScript中WScript.Shell对象的run和exec使用心得分享

    WScript.Shell对象提供了run和exec两个方法,最近项目中需要在vbscript脚本中用pscp从linux服务器上copy文件。本来使用了exec方法,以下代码
    2009-02-02

最新评论