0

動作していない aspx ページにクイック コンタクト フォームがあります。例外が発生した場合に try/catch ブロックを使用していますが、これまでは catch だけが動作していました。メール メッセージ クラスを使用しているコードを教えてください。 System.Net.Mail 名前空間の.Her のコード

try
{
    MailMessage EmailMsg = new MailMessage();
    EmailMsg.From = new MailAddress(txtEmail.Text,txtName.Text);
    EmailMsg.To.Add(new MailAddress("mail address"));
    EmailMsg.Subject = "WebAssist Email form";
    EmailMsg.Body = "<html><body>This is a text<hr>Test test</body></html>";
    EmailMsg.IsBodyHtml = true;
    EmailMsg.Priority = MailPriority.Normal;
    SmtpClient MailClient = new SmtpClient("");
    MailClient.EnableSsl = true;
    MailClient.Credentials = new System.Net.NetworkCredential("","");
    MailClient.Send(EmailMsg);
    Label1.Visible = true;
    Label1.Text = "Email sent";
}
catch
{
    Label1.Visible = true;
    Label1.Text = "Your email was not sent";
}

smtpコンストラクター、ネットワーク認証情報に何を書くべきか教えてくださいよろしくお願いします

4

2 に答える 2

2

catch ステートメントを削除します。例外をコール スタックに伝播させて、問題の原因を突き止めます。あなたが今やっているのは、それを隠すことだけです。

問題を解決したら、例外処理のベスト プラクティスを参照することをお勧めします。

于 2011-02-07T12:35:15.457 に答える
1

SmtpClientクラスのコンストラクターは、次の 3 つの方法のいずれかで呼び出すことができます。

  1. SmtpClient() - 構成ファイルの設定を使用して、SmtpClient クラスの新しいインスタンスを初期化します。
  2. SmtpClient(String) - 指定された SMTP サーバーを使用して電子メールを送信する SmtpClient クラスの新しいインスタンスを初期化します。
  3. SmtpClient(String, Int32) - 指定された SMTP サーバーとポートを使用して電子メールを送信する SmtpClient クラスの新しいインスタンスを初期化します。

どのような実際の値を提供する必要があるかについては、実際にはあなたと SMTP サーバーの間の問題です。私たちはあなたを助けることができません。文字列はサーバーの名前 (場合によっては IP アドレスのみ) になり、ポートは 25 になる可能性が高くなりますが、何でもかまいません。

于 2011-02-07T12:37:02.090 に答える