2

我有一个通用邮箱,可用于从我的网站发送电子邮件。它已停止工作并引发异常。以下是错误的屏幕截图。

错误 http://img7.imageshack.us/img7/7227/42097647.png

代码是

  protected void Submit_Click(object sender, EventArgs e)
   {
    if (ValidateBox.Text == "6")
    {
        MailMessage message = new MailMessage();
        message.From = new MailAddress(EmailBox.Text.ToString());
        message.To.Add(new MailAddress("praveendaniel86@gmail.com"));
        message.Subject = "Message via CAM Website General Mailbox";
        string body = "Name: " + NameBox.Text.ToString() + Environment.NewLine + Environment.NewLine +
                      "Home Tel: " + HomeTelBox.Text.ToString() + Environment.NewLine + Environment.NewLine +
                      "Work Tel: " + WorkTelBox.Text.ToString() + Environment.NewLine + Environment.NewLine +
                      "Comment/Question: " + CommentBox.Text.ToString();

        message.Body = body;


        SmtpClient client = new SmtpClient();
        client.Send(message);

        Response.Redirect("~/Thank-You.aspx");
    }

    else
    {
        Label1.Visible = true;
    }



}

这可能是我的 webconfig 中提到的 SMTP 客户端的错误,我如何检查它是否工作正常?谢谢。

4

2 回答 2

1

您没有设置网络凭据。换句话说,您没有对电子邮件进行身份验证。

NetworkCredential myCredentials = new NetworkCredential(
"myemail@domain.com","myPassword","mail.myDomainName.com");


client.Credentials = myCredentials;
于 2013-04-22T09:53:57.217 回答
1

这是一个配置问题。

您的 web.config (system.net > mailSettings > smtp) 中指定的 SMTP 服务器未配置为进行中继。您有两种选择来解决此问题:

  1. 配置 SMTP 服务器以允许中继Web 服务器的 IP 地址(仅限!​​)。
  2. 使用 SmtpClient 发送 SMTP 凭据(请参阅 Dave 的回答)。
于 2013-04-22T09:56:58.750 回答