2017-01-04 79 views
1

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 

答えて

0

このコードは( GmailにGmailのからを送る)私のために完全に正常に動作します - あなたは、以下を確認する必要があります。

  • はポート587だけでなく、ポート465でそれを試してみてください(further reading
  • Access for less secure appsのためにGmailのあなたの送信アカウントを設定 - 以下support page
  • あたり Turn Onオプションがあります

セキュリティの低いアプリにアカウントへのアクセスを許可する Googleは、現代のセキュリティ基準を使用していないアプリやデバイスからのログインをブロックすることがあります。これらのアプリや端末は簡単に侵入することができるため、アカウントやアカウントをブロックすることでアカウントを安全に保つことができます。

最新のセキュリティ標準をサポートしていないアプリケーションのいくつかの例は次のとおりです。

8.1リリースの前に、Windowsの携帯電話上でのiOS 6とか

メールアプリ下のあなたのiPhoneやiPadのメールアプリ

のMicrosoft OutlookとMozilla Thunderbirdの

のような一部のデスクトップメールクライアント...

オプション2:セキュリティの弱いアプリケーションがアカウントにアクセスできるように設定を変更する。誰かがあなたのアカウントに侵入しやすくなる可能性があるため、このオプションはお勧めしません。とにかくアクセスを許可する場合は、次の手順に従います。

[マイアカウント]の[安全性の低いアプリ]セクションに移動します。

「安全性の低いアプリケーションのアクセス」の横にある[オンにする]を選択します。 (Google Appsのユーザーへの注意:管理者が安全性の低いアプリのアカウントへのアクセスをロックした場合は、この設定が隠されている。)

CDOは、今ではそれがサポートしないアプリケーションの一例であると仮定かなり古いです最新のセキュリティ標準

+0

ありがとうございました。私はオプション2を選んだ: – Harshil

+0

喜んで助け - あなたが答えが有用だった場合upvoteに自由に感じる:) –

関連する問題