Sub SendMailUsingCDO()
Dim objMessage As Object
Set objMessage = CreateObject("CDO.Message")
With objMessage
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.qq.com"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "你的QQ邮箱"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "你的QQ邮箱授权码"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Configuration.Fields.Update
.To = "xxxx@qq.com"
.CC = "yyyy@163.com"
.From = "你的QQ邮箱"
.Subject = "邮件主题"
.TextBody = "邮件正文内容"
.AddAttachment "C:\Users\Administrator\Desktop\派送单.xlsx"
.Send
End With
Set objMessage = Nothing
End Sub
用一个循环调用这段代码,给200个员工发送工资表,出现问题,前10个正常发送了,后面的发送不了。
哪怕我在循环里面,加一个等待2秒
Application.Wait (Now + TimeValue("0:00:02"))
都会有outlook跳出一个窗口,让我输入密码,不停跳这个窗口,输入5次,还跳。
是qqmail做了限制吗?还是outlook的原因?
是QQ邮箱做了限制,防止广告邮件,其它邮箱基本也都会限制了。
看你的需求是发工资表,是企业内部使用,可以使用企业邮箱,目前企业邮箱也有很多免费的可以用(比如腾讯企业邮箱),企业邮箱用你这个方式对内部的邮箱发送,就不会触发限制。