SMTP异常导致邮件无法发送

本文关键字:异常 SMTP | 更新日期: 2023-09-27 18:10:14

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

错误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客户端错误,我如何检查它是否工作正常?谢谢。

SMTP异常导致邮件无法发送

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

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

client.Credentials = myCredentials;

这是一个配置问题。

在web中指定的SMTP服务器。配置(system.net> mailSettings> smtp)没有配置中继。有两个选项可以解决这个问题:

  1. 配置SMTP服务器允许中继为您的web服务器的IP地址(仅!)。
  2. 使用SmtpClient发送SMTP凭据(参见Dave的答案)。