SMTP VBA:发送邮件时 - 传输失败连接到服务器

问题描述:

我有下面的代码使用CDO从VBA宏发送邮件。我在代码中得到一个错误:SMTP VBA:发送邮件时 - 传输失败连接到服务器

交通运输无法连接到服务器时出现错误

我从Gmail的SMTP服务发送邮件。看起来像配置设置正确,但不知何故它不起作用。

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 = "[email protected]" 
    strTo = "[email protected]" 
    strBody = "The total results are: 167" 

    Set CDO_Mail = CreateObject("CDO.Message") 

    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") = "[email protected]" 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxx" 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
     .Update 
    End With 

    With CDO_Mail 
     Set .Configuration = CDO_Config 
    End With 

    CDO_Mail.Subject = strSubject 
    CDO_Mail.From = strFrom 
    CDO_Mail.To = strTo 
    CDO_Mail.TextBody = strBody 
    CDO_Mail.Send 

End Sub 

该代码工作对我来说完全罚款(从发送的Gmail 的Gmail) - 所以你需要检查以下内容:

  • 与端口587和端口465试试吧(further reading
  • 配置您的Gmail帐户发送的Access for less secure apps - 有每个以下support page
  • 一个 Turn On选项

允许不够安全的应用访问您的帐户 谷歌可能会阻止某些应用程序或设备不使用最新安全标准的登录尝试。由于这些应用和设备更容易侵入,阻止这些应用和设备有助于保持帐户安全。

不支持最新的安全标准的应用程序的一些例子包括:

在您的iPhone或iPad上的邮件应用程序与iOS 6以下

的邮件应用程式Windows手机的8.1版本之前的上

一些桌面邮件客户端如Microsoft Outlook和Mozilla Thunderbird

...

选项2:更改您的设置以允许安全性较低的应用访问您的帐户。我们不建议使用此选项,因为这可能会让别人更容易侵入您的帐户。如果您想允许访问,请按照以下步骤操作:

转到我的帐户中的“安全性较低的应用”部分。

在“访问不太安全的应用程序”旁边,选择打开。 (请注意,以谷歌Apps用户:如果您的管理员已锁定不够安全的应用帐户访问该设置是隐藏的。)

CDO是很老现在这么假设是不支持应用程序的例子最新的安全标准

+0

谢谢你的工作。我选择了选项2. :) – Harshil

+0

很高兴提供帮助 - 如果您有答案,请随时致电:) –