Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 由于SMTP异常,未发送电子邮件_C#_Email_Smtpclient - Fatal编程技术网

C# 由于SMTP异常,未发送电子邮件

C# 由于SMTP异常,未发送电子邮件,c#,email,smtpclient,C#,Email,Smtpclient,我有一个通用邮箱,可以用来从我的网站发送电子邮件。它已停止工作并引发异常。下面是错误的屏幕截图 代码是 protected void Submit_Click(object sender, EventArgs e) { if (ValidateBox.Text == "6") { MailMessage message = new MailMessage(); message.From = new MailAddress(EmailBo

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

代码是

  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;
    }



}

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

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

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


client.Credentials = myCredentials;

这是一个配置问题

在web.config(system.net>mailSettings>SMTP)中指定的SMTP服务器未配置为中继。您有两个选项可以修复此问题:

  • 将SMTP服务器配置为允许对web服务器的IP地址进行中继(仅限!)
  • 使用SmtpClient发送SMTP凭据(请参阅Dave的答案)