0

我在一个不起作用的 aspx 页面上有一个快速联系表单我正在使用 try/catch 块以防出现异常,直到现在只有 catch 工作。请帮助我使用邮件消息类的代码System.Net.Mail 命名空间的。她的代码

try
{
    MailMessage EmailMsg = new MailMessage();
    EmailMsg.From = new MailAddress(txtEmail.Text,txtName.Text);
    EmailMsg.To.Add(new MailAddress("mail address"));
    EmailMsg.Subject = "WebAssist Email form";
    EmailMsg.Body = "<html><body>This is a text<hr>Test test</body></html>";
    EmailMsg.IsBodyHtml = true;
    EmailMsg.Priority = MailPriority.Normal;
    SmtpClient MailClient = new SmtpClient("");
    MailClient.EnableSsl = true;
    MailClient.Credentials = new System.Net.NetworkCredential("","");
    MailClient.Send(EmailMsg);
    Label1.Visible = true;
    Label1.Text = "Email sent";
}
catch
{
    Label1.Visible = true;
    Label1.Text = "Your email was not sent";
}

请告诉在 smtp 构造函数中要写什么,在网络凭据中提前谢谢

4

2 回答 2

2

取出 catch 语句——你想让异常向上传播到调用堆栈,以便找出问题所在。你现在所做的只是隐藏它。

一旦你解决了问题,我建议你看看异常处理最佳实践

于 2011-02-07T12:35:15.457 回答
1

可以通过以下三种方式之一调用SmtpClient类的构造函数:

  1. SmtpClient() - 使用配置文件设置初始化 SmtpClient 类的新实例。
  2. SmtpClient(String) - 初始化 SmtpClient 类的新实例,该类使用指定的 SMTP 服务器发送电子邮件。
  3. SmtpClient(String, Int32) - 初始化 SmtpClient 类的新实例,该实例使用指定的 SMTP 服务器和端口发送电子邮件。

至于需要提供哪些实际值,这实际上是在您和您的 SMTP 服务器之间。那里我们帮不了你。该字符串将是服务器的名称(甚至可能只是它的 IP 地址),端口很可能是 25,但也可以是任何值。

于 2011-02-07T12:37:02.090 回答