发送网格电子邮件Excel VBA SMTP



我正在尝试将Sendgrid SMTP与excel集成,以便直接从excel表发送电子邮件。下面给出的代码返回一个错误:"邮件无法发送到SMTP服务器"。错误图像

Sub Manufactureremail1()
'sends email to manufacturer using Sendgrid
'Application.ScreenUpdating = False
 'While (True)
    Dim iMsg As Object
    Dim iConf As Object
    Dim strbody As String
    '    Dim Flds As Variant
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
                           = "smtp.sendgrid.net"
            .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/sendusername") = "myusername"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
            .Update
        End With
    
    With iMsg
        Set .Configuration = iConf
        .To = Application.WorksheetFunction.VLookup(Selection.Cells(2, 1), Worksheets("Contacts").Range("email_data"), 2, False)
        .CC = ""
        '.BCC = Application.WorksheetFunction.VLookup(Selection.Cells(2, 3), Worksheets("Contacts").Range("email_data"), 2, False)
        .From = """Yash"" <yashagarwal080@gmail.com>"
        .Subject = "Order of " & Selection.Cells(2, 3)
        
        '.addattachment Worksheets("Contacts").Range("I6")
        '.addattachment Worksheets("Contacts").Range("I7")
        
        .htmlBody = "Message"
        .send
       'MsgBox "Emails Sent!", vbInformation, "Success"
    
    End With
 'DoEvents
 'Wend
'Application.ScreenUpdating = True
End Sub

通过添加将您的配置设置为使用SSL

.项目("http://schemas.microsoft.com/cdo/configuration/smtpusessl")=1

Yash,我用邮件服务器配置测试了您的代码,它对我来说很好,只做了两件事。1.我在工具->参考中引用了Microsoft CDO。2.我将端口地址更改为25

最新更新