首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA CDO邮件

Excel VBA CDO邮件
EN

Stack Overflow用户
提问于 2017-12-29 09:50:09
回答 2查看 13.2K关注 0票数 2

我试图用2007 VBA代码发送邮件,但我得到了错误:

运行时错误'-2147220973 (80040213)': 自动化误差

我使用的代码是:

代码语言:javascript
运行
复制
Dim cdomsg As Object

Set cdomsg = CreateObject("CDO.message")

With cdomsg.Configuration.Fields

  .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
  .Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 25
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
  ' .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
  .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "excel.**********@gmail.com"
  .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "**********123"
  ' .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
  .Update

End With

With cdomsg

  .Subject = "Automated mail"
  .From = "excel.**********@gmail.com"
  .To = "**********@hitbts.com" ' https://temp-mail.org/
  .TextBody = "Automated mail"
  .AddAttachment ("*:\*****\***********\****************\***********\*****\*****.xlsm")
  .Send

End With

Set cdomsg = Nothing

我尝试过其他smpt服务器,当我键入nslookup、计算机的IP和另一个IP时,在cmd中显示的服务器名称和地址,但我不知道正确的smpt服务器是什么。

回答后的编辑:

对于将来搜索这些内容的人来说,我使用和使用的代码如下(摘自视频):

代码语言:javascript
运行
复制
Dim Mail As New Message
Dim Config As Configuration
Set Config = Mail.Configuration

Config(cdoSendUsingMethod) = cdoSendUsingPort
Config(cdoSMTPServer) = "smtp.gmail.com"
Config(cdoSMTPServerPort) = 25
Config(cdoSMTPAuthenticate) = cdoBasic
Config(cdoSMTPUseSSL) = True
Config(cdoSendUserName) = "sender@gmail.com"
Config(cdoSendPassword) = "password123"
Config.Fields.Update

Mail.AddAttachment ("C:\path\file.ext")
Mail.To = "destination@gmail.com"
Mail.From = Config(cdoSendUserName)
Mail.Subject = "Email Subject"
Mail.HTMLBody = "<b>Email Body</b>"

Mail.Send

确保更改"sender@gmail.com""password123""C:\path\file.ext""destination@gmail.com"以使示例工作,并更改主题和正文以更改邮件。

我还访问了VBA上的顶部菜单"Tools“,选项”References.“,启用了”MicrosoftCDOforWindows2000Library“,并按了OK,如上面链接的视频所示。

直接链接为从这里获取的GMail启用“较低安全”选项。

EN

Stack Overflow用户

回答已采纳

发布于 2017-12-29 11:49:49

当您使用Gmail时,您是否检查启用“不太安全的应用程序”是否产生了影响?Support.google.com参考

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48020578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档