2011-01-14 13 views
0

私はasp.netアプリケーションで電子メールを送信するためにgmailを使用しています。サーバー上で電子メールを送信すると電子メールはうまく動作しますが、ローカルマシン上で電子メールを送信しようとするとエラーが発生します。私はコード内にブレークポイントを配置し、送信メソッドが呼び出されたときには "Smtp例外がユーザコードで処理されていませんでした"という見出しのエラーボックスを表示し、詳細には "Faliur sending mail"と表示されます。ローカルマシンのgmailアカウントを使用して電子メールを送信する

私はブラウザ上で続けた場合、それはこれらの詳細とエラーページが表示されます。

既存の接続はリモートホストに強制的説明によって閉じられました:未処理の例外は、現在のWeb要求の実行中に発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

例外の詳細:System.Net.Sockets.SocketException:既存の接続はリモートホストに強制的に以下

により閉鎖された私のコードで、親切に私を導きます。

ありがとうございました。

protected void btnConfirm_Click(object sender, EventArgs e) 
{ 
    string _Message = GetAdminEmailMessage();   

    MailMessage message = new MailMessage(); 
    SmtpClient smtp = new SmtpClient(); 
    NetworkCredential mailAuthentication = new NetworkCredential("[email protected]", "mypassword"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.From = new MailAddress("[email protected]"); 
    message.IsBodyHtml = true; 
    message.Subject = "Local test email"; 
    message.Body = _Message; 
    smtp.UseDefaultCredentials = false; 
    smtp.EnableSsl = true; 
    smtp.Port = 587; 
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtp.Host = "smtp.gmail.com"; 
    smtp.Credentials = mailAuthentication; 
    smtp.Send(message); 

} 
+1

ポートがブロックされましたか?またはあなたのIPがGmailでブロックされている可能性がありますか?私はOutlookや同様のトラブルシューティングの前に同様の設定から同じ設定で接続できることを確認します – StefanE

+0

StefanE私はgmailとfollwoignエラーに接続するOutlookを使用しようとしましたが、私はそれを得ることができません申し訳ありません。サーバーへの接続に失敗しました。アカウント: 'smtp.gmail.com'、サーバー: 'smtp.gmail.com'、プロトコル:POP3、ポート:110、セキュア(SSL):いいえ、ソケットエラー:10060、エラー番号:0x800CCC0E – haansi

答えて

1

エラーコード番号:0x800CCC0Eは、ポートがブロックされていることを示していますhttp://support.microsoft.com/kb/191687

するTryのtelnet smtp.gmail.com 587 - あなたは接続できますか?あなたのポートのブロックが解除されると、あなたの資格情報が正しい場合は、この質問のために受け入れ答えのコードは

を動作するはずです。..

Sending email through Gmail SMTP server with C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net.Mail; 
using System.Net; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var client = new SmtpClient("smtp.gmail.com", 587) 
      { 
       Credentials = new NetworkCredential("[email protected]", "mypwd"), 
       EnableSsl = true 
      }; 
      client.Send("[email protected]", "[email protected]", "test", "testbody"); 
      Console.WriteLine("Sent"); 
      Console.ReadLine(); 
     } 
    } 
} 
+0

hearm tip telnet smtp .gmail.com 587コマンドプロンプトで「220 mx.google.com ESMTP s9sn421715wby.4」と表示されます。申し訳ありませんが、Telnetが接続されていることを認識していませんか? – haansi

+0

ポートがブリックされている場合、ポートまたはソリューションのブロックを解除するために何ができるのですか? – haansi

関連する問題