2017-07-17 49 views
-2

次のコードを使用してサーバーからgmailaccountでメールを送信しようとしています。c#接続されたホストが応答に失敗したためにgmail接続に失敗しました

  var fromAddress = new MailAddress("[email protected]", "xxxxxx"); 
     var toAddress = new MailAddress(toMailAddress); 
     const string fromPassword = "xxxxx"; 

     var smtp = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 587, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      UseDefaultCredentials = false, 
      Credentials = new NetworkCredential(fromAddress.Address, fromPassword) 
     }; 
     using (var message = new MailMessage(fromAddress, toAddress) 
     { 
      IsBodyHtml = true, 
      Subject = mailSubject, 
      Body = htmlBody 
     }) 
     { 
      smtp.Send(message); 
     } 

ファイアウォールにポート587用のInoboundルールがありますが、これはWindowsサーバーに展開すると次の結果になります。私はそれが

connectionFailed

+1

この質問をご覧になり、デバッガを使用してコードをステップ実行する方法を学んでください - [C#を使用してGmailアカウントにメールを送信](https://stackoverflow.com/questions/29251189/sending-mail-using -gmail-smtp-csharp-netから) – MethodMan

+0

[C#を使用したGmail SMTPサーバー経由の電子メールの送信]の可能な複製(https://stackoverflow.com/questions/704636/sending-email-through-gmail-smtp-server- with-c-sharp) –

+0

以下、不思議に受け入れられている答えに対するOP自身のコメントですが、これは、ローカライズされすぎていると判断しました。これは、OPのホスティング会社がファイアウォールのポートを開くことで解決されたためです。 –

答えて

-1

ローカル私もこの問題に直面しているテストするとき、それは完璧に動作します。実際、Gmailでは、安全性の低いアプリのメールを送信するGmailにはアクセスできません。 は、次の手順を実行します。 をGoogleアカウント「マイアカウント」に

"An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll 

Additional information: The SMTP server requires a secure connection or the 
client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at" 
  1. ゴーのような例外を取得している場合。
  2. 「ログイン&セキュリティ」の下にある「安全性の低いアプリケーションを許可する:オフ」と表示されている場合は、その横のボタンをクリックしてオンにする必要があります。
  3. gmailアカウントにコードからアクセスできるようになりました。
+0

悲しいことに、これは解決策ではありません。 「安全性の低いアプリを許可する」は既にオンになっています。私はそれがオフになっている場合、私はローカルで動作するとは思わない。 – Lieven

+0

完全な例外を共有してください。 –

+0

ここで例外が見つかるでしょう:https://i.stack.imgur.com/bBqff.png – Lieven

関連する問題