【问题标题】:Excel VBA send email Office 365Excel VBA 发送电子邮件 Office 365
【发布时间】:2022-09-24 05:36:57
【问题描述】:

我们在 Excel 中制作了一个宏来通过 CDO 发送电子邮件:

Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String

Set CDO_Mail = CreateObject(\"CDO.Message\")
On Error GoTo Error_Handling

Set CDO_Config = CreateObject(\"CDO.Configuration\")
CDO_Config.Load -1

Set SMTP_Config = CDO_Config.Fields

With SMTP_Config
    .Item(\"http://schemas.microsoft.com/cdo/configuration/sendusing\") = 2
    .Item(\"http://schemas.microsoft.com/cdo/configuration/smtpserver\") = \"smtp.office365.com\"
    .Item(\"http://schemas.microsoft.com/cdo/configuration/smtpserverport\") = 587
    .Item(\"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate\") = 1
     .Item(\"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout\") = 10
  .Item(\"http://schemas.microsoft.com/cdo/configuration/sendusername\") = \"gjhjj@forexapmle.com\"
    .Item(\"http://schemas.microsoft.com/cdo/configuration/sendpassword\") = \"654321\"
    .Item(\"http://schemas.microsoft.com/cdo/configuration/smtpusessl\") = True
 .Update
End With

With CDO_Mail
 Set .Configuration = CDO_Config
End With

Dim i As Integer
i = 2
While Sheets(\"Data\").Cells(i, 1) <> \"\"
    strSubject = \"Z-Reporti\"
    strFrom = \"gjhjj@forexapmle.com\"
    strTo = Sheets(\"Data\").Cells(i, 4)
    strCc = \"\"
    strBcc = \"\"
    strBody = \"xcvjlxcv  ;lkjladsfgdafg \"
           
    CDO_Mail.Subject = strSubject
    CDO_Mail.From = strFrom
    CDO_Mail.To = strTo
    CDO_Mail.TextBody = strBody
    CDO_Mail.CC = strCc
    CDO_Mail.BCC = strBcc
    CDO_Mail.Send
    i = i + 1

文德

错误处理: If Err.Description <> \"\" Then MsgBox Err.Description

返回带有以下文本的错误消息: 无法将邮件发送到 SMTP 服务器。传输错误代码为 0x80040217。服务器响应不可用。

请帮忙!

    标签: office365


    【解决方案1】:

    您正在使用需要 TLS 才能工作的端口 587。

    将以下内容添加到您的配置中:

    .Item("http://schemas.microsoft.com/cdo/configuration/sendtls") = True
    

    如果这不起作用,请保持它没有上面的行并将端口从 587 更改为 25。

    How to set up SMTP AUTH client submission

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 2016-02-04
      相关资源
      最近更新 更多