1

これは、ボタンクリックイベントで次のコードを実行するだけの非常に単純な連絡フォームです。問題は、ネットワーク内ではこれは完全に正常に機能することですが、外部で試してみると何も起こらず、500サーバーエラーが発生します。特に奇妙なのは、これが数日前にA-OKで機能していたことです。これはおそらくDNSで起こっていることだと思います。私の質問は、どうすればこれが起こらないようにして、このフォームをより安定させることができるかということです。

            string toAddress = "me@me.com";
            string fromAddress = "no-reply@mydomain.com";
            string mailServer = "mail.mydomain.com";
            DateTime now = DateTime.Now;
            MailMessage myMailMessage = new MailMessage();
            myMailMessage.To.Add(toAddress);

            myMailMessage.From = new MailAddress(fromAddress);
            myMailMessage.Subject = "Contact Form Submission";
            myMailMessage.Body =
              "some text" + "\r\n" + 
               "-------------------------------------------" +
              "\r\n" +
              "xxx#: " + xxx.Text.ToString() +

              "\r\n" + "FirstName: " + FirstName.Text.ToString() +
              "\r\n" + "LastName: " + LastName.Text.ToString() +
              "\r\n" + "City: " + City.Text.ToString() +
              "\r\n" + "ListPrice: " + ListPrice.Text.ToString() +
              "\r\n" + "Features: " + Features.Text.ToString() +
              "\r\n" 

            SmtpClient mySmtpClient = new SmtpClient(mailServer);

            mySmtpClient.Send(myMailMessage);

            Response.Redirect("thankyou.aspx");
4

1 に答える 1

1

500サーバーエラーは一般的なメッセージです。イベントビューアで詳細メッセージを読む必要があります。

ここで考えられる問題。メールサーバーも保持しているサーバーからメールを送信する場合は、mailServer名をlocalhostに変更します

string mailServer = "localhost";

ローカルからのメールを受け入れるようにメールサーバーを設定します。メールサーバーがどこかにある場合は、確認する必要があります

  • メールサーバーは送信前にログインを要求しましたか?
  • メールサーバーはSSL接続を要求しましたか?

そのオプションに従ってコードを作成します。

于 2012-04-07T01:41:42.640 に答える