2011-10-18 24 views
4

「メールを送信できません」例外。内部の例外は「リモートサーバーに接続できません」であり、その内部例外は「接続されたパーティが一定期間後に正しく応答しなかったか、接続されたホストが応答しなかったため接続が失敗したため接続に失敗しました"私は、これがファイヤーウォールの設定ではないのは確かだと確信しています。誰も私がそれについて何ができるか知っていますか?ありがとう。Google SMTP経由でメールを送信できません

var mail = new MailMessage("[email protected]", "[email protected]") 
         { 
          Subject = "Testing subject", 
          Body = "Testing body" 
         }; 
      try 
      { 
       var client = new SmtpClient("smtp.google.com", 465) 
           { 
            EnableSsl = true, 
            Credentials = new NetworkCredential("[email protected]", "password") 
           }; 
       client.Send(mail); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 

答えて

6

は、Googleの設定が必要です:

  • 受信メール(POP3)サーバー - SSLが必要です:pop.gmail.com

    SSLを使用:はい

    ポート:995

    送信メール(SMTP)サーバー - TLS3またはSSLが必要です。smtp.gmail.com (認証を使用)

    利用認証:TLS/STARTTLSのためにはい

    ポート:SSLのための587

    ポート:465

    アカウント名:your_domain.com @ @ gmail.comまたは など、あなたの完全なメールアドレス( )

    電子メールアドレス:あなたのメールアドレス([email protected]または [email protected]_domain.com)

    パスワード:Gmailのパスワード

+0

ええ、それはポート587だったはずです。今はうまくいきます。ありがとう。 – jonakrob

0

ホスト名が正しく、googleがSMTP over SSLをサポートしている場合は、何かによってブロックされており、ファイアウォールのチェックを開始します。

0

私はsmtp.google.comがGmailの正しいサーバーだとは思わない。ポート25でsmtp.gmail.comを試しましたか?

ポート465は、SMTP SmtpClientでサポートされていないSSL経由です。代わりに、ポート25を使用します。SMTPクライアントは、STARTTLS機能を使用して通信を暗号化します。

3

私は465が正しいポートだとは思わない。あなたは587を試しましたか? SMTPサーバーはsmtp.gmail.comです。ここで

+0

ええ、それはポート587だったはずです。今は問題なく動作しています。ありがとう。 – jonakrob

0

正しいポートは、私もGoDaddyの電子メールサーバーとコードの下で働いていますsmtpclientクラス

+0

すべてではありません! – Nitesh

1

のための587は私のためにうまく働いている:

名前空間

System.Net.Mail 

============

string senderID = "[email protected]"; 
string senderPassword = "123456"; 
string body = " Test email "; 

MailMessage mail = new MailMessage(); 
mail.To.Add(username); 
//mail.CC.Add(_cc); 
mail.From = new MailAddress(senderID); 
mail.Priority = MailPriority.High; 
mail.Subject = "Test Email"; 
mail.Body = body; 
mail.IsBodyHtml = true; 
SmtpClient smtp = new SmtpClient(); 
smtp.Host = "relay-hosting.secureserver.net"; //Or Your SMTP Server Address 
smtp.Credentials = new System.Net.NetworkCredential 
    (senderID, senderPassword); // ***use valid credentials*** 
smtp.Port = 25; 
smtp.EnableSsl = false; 
smtp.Send(mail); 
関連する問題