2011-10-29 17 views
1

基本的に私は誰かが自分のサイトにメッセージを残すと、自分の受信トレイにメールを送信するMVC 3フォームを持っています。MVCメールを送信するフォーム

何らかの理由で、「メールの送信に失敗しました。」というメッセージを含むSmtpExceptionがスローされます。

[HttpPost] 
    public ActionResult Contact(string name, string email, string message) 
    { 
     string From = "[email protected]******.com"; 
     string To = "[email protected]******.com"; 
     string Subject = name; 
     string Body = name + " wrote:<br/><br/>" + message; 

     System.Net.Mail.MailMessage Email = new System.Net.Mail.MailMessage(From, To, Subject, Body); 
     System.Net.Mail.SmtpClient SMPTobj = new System.Net.Mail.SmtpClient("smtp.**********.net"); 

     SMPTobj.EnableSsl = false; 
     SMPTobj.Credentials = new System.Net.NetworkCredential("[email protected]*******.com", "*******"); 

     try 
     { 
      SMPTobj.Send(Email); 
     } 
     catch (Exception ex) 
     { 
      Debug.WriteLine(ex.Message); 
      throw new Exception(); 
     } 

     return View(); 
    } 

これはサーバーでテストするのではなく、ローカルでテストすることと関係がありますか?

+0

ローカルで実行するとこのエラーが発生していますか?サーバー上で?どちらも? web.configでSMTPサーバーを設定していますか? – dommer

+0

'SMPTobj.EnableSsl = true;を設定しようとしましたが、gmail' SMPTobj .Host = "smtp.gmail.com";のようにホストを設定し、ポート(gmail) 'SMPTobj.Port = 587; ' – Rafay

+0

これは、ローカルでもWebサーバーでも起こります。 「接続されたパーティが一定期間後に正しく応答しなかったか、接続されたホストが応答しなかったために確立された接続が失敗したために接続に失敗しました」というエラーが表示される –

答えて

1

SmtpClient.Portをホストの電子メールポートに設定する必要がありますか?

1

私は新しい例外を再スローちょうどスタックをリセットしますので、あなたは確実にエラーの原因を追跡することができない例外を再スロー

catch (Exception ex) 
{ 
     Debug.WriteLine(ex.Message); 
     throw; 
} 

を使用しないようにしようとするあなたをお勧めします。このケースでは(再スローさせずに)、Visual StudioのInnerExceptionとStatusのプロパティを見ることができますが、これは通常、失敗の理由の詳細を示します。 (多くの場合、ISPのブロックポート25 SMTPトラフィック、あなたがローカルでテストしている場合)

第二に、あなたは、ハード、それが簡単に変更をテストすることができ、アプリケーション内のコード化されたというし、web.configファイル内のすべての接続の詳細を設定しようとすることができます。

<system.net> 
<mailSettings> 
    <smtp deliveryMethod="Network" from="[email protected]"> 
    <network host="smtp.gmail.com" userName="[email protected]" password="password" enableSsl="true" port="587" /> 
    </smtp> 
</mailSettings> 
関連する問題