VBS 发邮件

VBS 发邮件N年前刚开始玩VBS的时候就想试试发邮件的功能。结果后来失败了。最近在群里看到又有人发了发邮件的代码,于是也玩了一下。最后成功了。这里记录下,QQ邮箱的安全策略,在使用smtp客户端时要使用独立的授权码(也就是密码,要发短信获取)。如果改了QQ密码或邮箱密码,这个授权码就会失效,要重新获取。QQ企业邮箱好像没有这个设置,于是不知道怎么用。直接用邮箱密码试了不行。附件试了…

大家好,欢迎来到IT知识分享网。

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

有所帮助的话,请笨笨喝杯茶吧
VBS 发邮件

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10847.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信