Я следовал приведенной в этой ссылке инструкции по отправке электронной почты с использованием 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