0

メールを送信するための簡単な連絡先ページを作成する方法を見つけようとしています。現在、テスト中ですが、エラーメッセージは表示されません。

これが私のコードです:

protected void btnSend_Click(object sender, EventArgs e)
{
   MailMessage msg = new MailMessage();
   msg.To.Add(txtFrom.Text);
   msg.Subject = txtSubject.Text;
   msg.Body = txtMessage.Text;

   SmtpClient smtp = new SmtpClient("localhost");
   smtp.Send(msg);

   Response.Write("Your email was sent");
}
4

3 に答える 3

2

ローカルホストで SMTP サービスを実行していますか? そうでない場合は、Gmail の smtp サービスをテストに使用できます。

SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.Credentials = new NetworkCredential("<your gmail login>", "<your gmail password>");
client.EnableSsl = true;
于 2013-11-04T23:30:39.887 に答える
0

他の人が指摘しているように、実際のメール サーバーとしてローカルホストを持っていない可能性があります。より良いアイデアを得るには、トレースをオンにして、コードを次のように変更します。

protected void btnSend_Click(object sender, EventArgs e) {
    Trace.Write("btnSend_Click initialized");
    string resp = "An unknown error occured.";
    using (MailMessage msg = new MailMessage()) {
        try {
            msg.To.Add(txtFrom.Text);
            msg.Subject = txtSubject.Text;
            msg.Body = txtMessage.Text;
            SmtpClient smtp = new SmtpClient("localhost");
            Trace.Write("smtp client created.");
            smtp.Send(msg);
            Trace.Write("smtp message sent.");
            resp = "Your message was sent.";
        } catch (Exception ex) {
            Trace.Warn("Smtp Error", ex.Message);
            resp = "There was an error sending your message.";
        }
    }
    Response.Write(resp);
    Trace.Write("btnSend_Click completed");
}
于 2013-11-04T23:48:44.520 に答える
0

次のように差出人アドレスを指定する必要があります。

msg.From = new MailAddress("noreply@noreply"); // Use a real address, of course

例外が発生していないので、まったくヒットしていないのだろうかbtnSend_Click...

その他の注意事項:

  1. txtFrom.Textポストバックで上書きされていますか?デバッグ中に電子メール アドレスをハードコードする場合があります。
  2. 127.0.0.1の代わりに試してくださいlocalhost
于 2013-11-05T02:04:09.967 に答える