VBS 发邮件

N年前刚开始玩VBS的时候就想试试发邮件的功能。

结果后来失败了。

最近在群里看到又有人发了发邮件的代码,于是也玩了一下。

最后成功了。这里记录下,QQ邮箱的安全策略,在使用 smtp 客户端时要使用独立的授权码(也就是密码,要发短信获取)。

如果改了QQ密码或邮箱密码,这个授权码就会失效,要重新获取。

QQ企业邮箱好像没有这个设置,于是不知道怎么用。直接用邮箱密码试了不行。

附件试了rar,jpg 都OK 。 

先存这里吧,也许何时就用的上。也许有别的朋友正需要。

下面是代码。直接复制来的。

Set emailObj = CreateObject("CDO.Message")

If WScript.Arguments.Count < 4 Then
	
	Call MsgBox("缺少参数")
	
	WScript.Quit (0)  

End if

'---------- 调用VBS的命令参数,以空格分隔 ----------
Set CommandLineArguments = WScript.Arguments 
subject = WScript.Arguments(1) ' "邮件标题" 
content = WScript.Arguments(2) ' "邮件正文"
attach = WScript.Arguments(3) ' "E:\306-0.html" 
addresses = WScript.Arguments(0) '"jerryjin@qq.com," '收件人(多个用英文逗号分隔);抄送(多个用英文逗号分隔);秘送(多个用英文逗号分隔)
addrArr =  Split(addresses,";")
addrLen = UBound(addrArr)
If addrLen >= 0 Then
	toAddr = addrArr(0)
End If
If addrLen >= 1 Then
	ccAddr = addrArr(1)
End If
If addrLen >= 2 Then
	bccAddr = addrArr(2)
End If

Sub SendMail(toAddr, ccAddr, bccAddr, subject, content, attach)
	With emailObj.Configuration.Fields 
		.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.exmail.qq.com" 'SMTP服务器地址
		.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "jerryjin@qq.com" '用户名
		.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "ZQNQGTZefCvRgbCK" '客户端密码
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 '明文验证
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 'SMTP端口号
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True '使用SSL
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 '超时
		.Update
	End With 
	With emailObj
		.From = "jinxin@bc8.com" '发件人
		.To = toAddr '收件人
		.Cc = ccAddr '抄送
		'.BCC = bccAddr '秘送
		.Subject = subject '电子邮件主题主题
		.Textbody = content '电子邮件内容
		'.Htmlbody = body 'html正文
		.AddAttachment attach '附件
		.Send
	End With 

End Sub

' 发邮件
Call SendMail(toAddr, ccAddr, bccAddr, subject, content, attach)
'也可以从txt中读出文本,然后用作邮件正文。
set fso = createobject("scripting.filesystemobject")
set f = fso.opentextfile("D:\Zpan\start\plan\每时进度.txt",1)
txt = f.readall
f.close

emailObj.Textbody = txt


有所帮助的话,请笨笨喝杯茶吧

以下是一个简单的邮件蠕虫的 VBScript 代码示例: ``` Option Explicit Dim objFSO, objFile, objShell, strScriptPath, strVbsPath, strVbsName, strEmailAddr ' 设置邮件地址 strEmailAddr = "example@mail.com" ' 获取脚本路径 Set objFSO = CreateObject("Scripting.FileSystemObject") strScriptPath = objFSO.GetAbsolutePathName(WScript.ScriptFullName) ' 获取 VBS 路径和名称 strVbsPath = Replace(strScriptPath, ".vbs", "") strVbsName = objFSO.GetFileName(strVbsPath) ' 创建 VBS 文件 Set objFile = objFSO.CreateTextFile(strVbsPath & ".vbs", True) objFile.WriteLine "Set objMessage = CreateObject(""CDO.Message"")" objFile.WriteLine "objMessage.Subject = ""Important Message""" objFile.WriteLine "objMessage.From = """ & strEmailAddr & """" objFile.WriteLine "objMessage.To = """ & strEmailAddr & """" objFile.WriteLine "objMessage.TextBody = ""This is an important message sent by the worm!""" objFile.WriteLine "objMessage.Send" objFile.Close ' 启动 VBS 文件 Set objShell = CreateObject("WScript.Shell") objShell.Run """" & strVbsName & ".vbs""" & " /NoLogo" ' 删除 VBS 文件 objFSO.DeleteFile strVbsPath & ".vbs" ``` 该代码将创建一个名为“Important Message”的邮件并将其发送到一个预定义的电子邮件地址。它利用文件系统对象来获取 VBScript 文件的路径,并使用Windows Scripting Host对象来运行和删除临时 VBS 文件。请注意,这仅仅是一个示例,实际的邮件蠕虫是非常危险和违法的行为,您不应该尝试编写或传播它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值