用VBS发送邮件

标签: , , , ,

曾经在编写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

随机文章:

  1. 用VBS实现PHP的sha1_file函数
  2. AscW函数返回负数的问题
  3. OpenWrt中的Hotplug脚本
  4. VBS类构造函数与Default关键字
  5. Windows下用TCC编译PCRE源码

10 条评论 发表在“用VBS发送邮件”上

  1. linkanyway说道:

    鄙视你做坏事。。。。就刚刚。。demon的老师如果你看见一定要注意。。。这小子要修改邮件时间来忽悠你

  2. still说道:

    你的小偷程序找不到了

  3. question说道:

    请教一个问题,如果我现在发5个邮件,但是在发完5个邮件的过程中,由于各种原因服务器会断开连接[比如说网速太慢]

    可能发2个就断了,也可能发3个,也可能发1个,
    我要如何才能使这5个邮件,都成功发送“一次”,只能成功发送一次。

    也就是说如何确保正确执行一次你写的程序,

  4. paul说道:

    谢谢,请问为什么发送附件的功能好象不能支持啊??

  5. sya说道:

    请问这个代码是执行在客户端,还是服务器端

  6. 塞壬说道:

    哈哈哈,老兄的这个法子好,抱走!

  7. fei说道:

    —————————
    Windows Script Host
    —————————
    脚本: C:\mail.vbs
    行: 9
    字符: 1
    错误: 对象不支持此属性或方法: ‘CDO.AddAttachment’
    代码: 800A01B6
    源: Microsoft VBScript 运行时错误

    —————————

    报错了哦~vista系统,不知道为啥

  8. […] Set objFSO = Nothing     isIpSame = isEqual End Function发送至邮箱参考这里,直接贴过来。VB.net语言: Codee#25593 Sub sendEmail(ip)     Const Email_From […]

  9. Lie_li说道:

    vbs的这个属性 AddAttachment 只能添加TXT 或者 解压包文件吗?
    为什么我添加别的问题,打开都都提示文件已损坏?

    还是说别的途径?

  10. osmond说道:

    schema这个地址不可用了啊,有其他的能替代的吗?

sya 留下回复