Используйте Excel CDO для отправки электронной почты: неверное значение конфигурации sendusing - PullRequest
0 голосов
/ 11 июля 2019

Я следовал приведенной в этой ссылке инструкции по отправке электронной почты с использованием VBA: https://www.makeuseof.com/tag/send-emails-excel-vba/

Я использую электронную почту с личной учетной записью Gmail.

Сначала у меня "не удалось"ошибка подключения к серверу, но после включения менее безопасного доступа к приложениям в gmail, похоже, эта ошибка исправлена.Затем я получил новую ошибку, в которой говорилось, что «значение конфигурации sendusing неверно».Мое значение sendusing равно 2, как я видел во многих других примерах, поэтому я не уверен, почему это не работает для меня.Смотрите мой код ниже:

Sub Email()
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

strSubject = "Results from Excel Spreadsheet"
strFrom = "XXX@gmail.com"
strTo = "XXX@companygmail.com"
strCc = ""
strBcc = ""
strBody = "The shipped sales is: " & Str(Sheet1.Cells(5, 2))

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.gmail.com"
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "XXX@gmail.com"
 .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXX"
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
 .Update
End With


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

Error_Handling:
If Err.Description <> "" Then MsgBox Err.Description
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...