2016-08-18 8 views
1

Я использую следующий код, чтобы попытаться отправить электронное письмо в Excel с помощью VBA. Я получаю сообщение об ошибке:Отправка электронной почты в Excel с помощью VBA, без Outlook, 64 бит

Run-time error '-2147220973 (80040213)': The transport failed to connect to the server.

Я попытался изменить порты (25, 465, 587), изменение почтовых серверов (smtp.gmail.com, smtp.live.com), пытались как Gmail и Hotmail, включен менее безопасен на обеих учетных записях gmail, даже настроить Outlook и отключить брандмауэр в Avast.

Вот код:

Sub CDO_Mail_Small_Text() 
    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.gmail.com" 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 '587 '465 '25 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'cdoBasic 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "123456" 
     .Update 
    End With 

    strbody = "Hi there" & vbNewLine & vbNewLine & _ 
     "This is line 1" & vbNewLine & _ 
     "This is line 2" & vbNewLine & _ 
     "This is line 3" & vbNewLine & _ 
     "This is line 4" 

    With iMsg 
     Set .Configuration = iConf 
     .To = "[email protected]" 
     .CC = "" 
     .BCC = "" 
     .From = "[email protected]" 
     .Subject = "New figures" 
     .TextBody = strbody 
     .Send 
    End With 
End Sub 

теперь я начинаю думать, что это связанно с тем, я использую Windows 10 64 битных и офис 2016 64 бита. - Просто догадка, также, я новичок в 64 бит, люблю его, но я учусь.

Может кто-нибудь посоветует, если я нахожусь на правильном пути и как я могу это сделать, чтобы летать. Если я не на правильном пути, что еще может быть зависанием?

Я искал Поиск Q & A, но ничего не нашел.

+0

Run Ошибка ошибки, связанной с сетью, не может подключиться к указанной почте сервер. попробуйте использовать соединение ssl, см. мой ответ, он должен работать. – 0m3r

ответ

0

На веб-сайте Google для GMail вам необходимо включить эту функцию для работы CDO.

В вашем Gmail странице нажмите:

Settings - Accounts and Import - Other Google Account Settings - [At very bottom of page] Allow less secure apps.

Кроме того, из памяти, вы должны нажать на ссылку в сообщении электронной почты в первый раз, когда вы используете его (это было несколько лет).

+0

Курт - Спасибо за ваш ответ. Я дважды проверял менее безопасные настройки приложений на обеих учетных записях, оба установлены на менее безопасные. Я отправил электронное письмо от одного к другому, на обоих учетных записях, затем открыл электронные письма (я предполагаю, что это то, что вы подразумеваете под «щелчком ссылки»), а затем запустил код. Те же результаты. – awsmitty

0

Время работы Ошибка сети, связанные ошибки, не может подключиться к указанному почтовому серверу, попробуйте использовать подключение SSL = True время

.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False

+0

Om3r - Спасибо за предложение - пробовал как истинную, так и ложную, такую ​​же ошибку, точно. У меня также есть небольшое обновление. Я получил другой код (значительно отличный от того, что размещен здесь) для работы с Outlook, но в том, что я использовал учетную запись Hotmail в качестве отправителя (учетная запись Hotmail настроена с помощью Outlook). Мы уверены, что это работает с 64 бит? Я видел сообщения, несколько связанные с ними, которые предполагают, что это не так, но я не знаю, что точно – awsmitty

+0

@awsmitty вам не нужен внешний вид, я просто тестировал на 'Excel 2010', используя настройку« GMail ». он работает. Убедитесь, что поля «От» или «Отправитель» совпадают. – 0m3r

+0

Om3r - Вы используете 64 бит. Я действительно не хочу использовать Outlook. Дайте мне знать, если вы используете 64-битную ОС и Office, пожалуйста, – awsmitty