2016-08-18 40 views
1

私は以下のコードを使用して、VBAを使用してExcelで電子メールを送信しようとしています。私はエラーを取得しておいてください。VBA、Outlookなし、64ビットExcelで電子メールを送信する

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

私は(smtp.gmail.com、smtp.live.com)電子メールサーバを変更し、ポート(25、465、587)を変更しようとした、有効に、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ビットおよびOffice 2016 64ビットを使用しているという事実に関係していると考え始めています。 - ちょうどちょうど、また、私は64ビットに新しいです、それを愛するが、学習しています。

私は正しい軌道にいるのか、これを飛ばすことができるのかについて助言する人がいますか?私が正しい道を歩いていなければ、ハングアップは他に何がありますか?

検索Q & Aを検索しましたが、具体的なものは見つかりませんでした。

+0

= SSL接続を使用してみてください、指定したメールサーバーに接続できませんサーバ。 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

Kurt - ご返信ありがとうございます。両方のアカウントの安全性の低いアプリの設定をもう一度チェックしたが、どちらも安全性が低く設定されている。私はどちらか一方のアカウントからメールを送り、メールを開きました(これはリンクをクリックするという意味です)、コードを実行しました。同じ結果。 – awsmitty

0

実行時エラーは、ネットワーク関連のエラーで、実行時エラーは、ネットワーク関連のエラーで、指定したメールに接続できない真の

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

+0

Om3r - 提案してくれてありがとうございます - 真と偽の両方を試してみました。私はちょっとしたアップデートもあります。私はOutlookを使用して動作する別のコード(ここに掲載されているものとはかなり異なる)を取得しましたが、Hotmailアカウントを送信者として使用しました(HotmailアカウントはOutlookで設定されています)。上記は64ビットで動作するのでしょうか?私は投稿を見たことがありますが、そうではないと示唆していますが、確かにわかりません。 – awsmitty

+0

@wsmittyあなたはOutlookが不要です。私は 'GMail'設定を使って' Excel 2010'でテストしました。それは動作します - FromフィールドとSenderフィールドが同じであることを確認してください。 – 0m3r

+0

Om3r - 64ビットを使用していますか?私は本当にOutlookを使いたくありません。あなたが64ビットのOSとOfficeを使用している場合は教えてください – awsmitty

関連する問題