群发邮件不成功的原因是什么?

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的原因?

阅读 338
2 个回答

是QQ邮箱做了限制,防止广告邮件,其它邮箱基本也都会限制了。
看你的需求是发工资表,是企业内部使用,可以使用企业邮箱,目前企业邮箱也有很多免费的可以用(比如腾讯企业邮箱),企业邮箱用你这个方式对内部的邮箱发送,就不会触发限制。

几乎所有的邮箱产品都有防spam的功能,你可以降低发送评率,和内容变更做一些优化。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏