0

我有一个页面,一切都很完美!问题或错误是有时电力耗尽,然后我才得到一个错误。错误或异常是服务器无法解析主机名:

无法解析远程名称:'smtp.gmail.com'

我正在使用IIS 8,我确信这不是 IIS 错误,也不是ASP.NET问题。

我搜索过的内容:我在谷歌上搜索了很多,每个答案都是做的,try {} catch {}所以我做了。我在街区内试了一下。像这样:

try {
    WebMail.Send(// i will not write the tags because they are fine!
    );
} 
catch (System.Net.WebException e) {
            error = e.Message;
}
Response.Write(error);

这并不能完美地捕捉到错误!我是在编写try catch块时遇到问题,还是我没有正确捕捉到错误。

还要注意的是,我有一个 ajax 请求。否则我会使用:

ModelState.AddError(e.Message);

但我不能使用它(我想我不能)。我可以找到更好的方法,以便仅在连接到服务器时发送电子邮件,否则会显示弹出窗口或不执行任何操作。但我不能那样做!我得到一个500 Internal Server Error. 我可以使用 try catch 来防止这种情况。但是如何。我无法解决这个问题。

4

1 回答 1

0

问题是System.Mail.SmtpException

由于网络无法连接或解析 smtpserver (smtp.gmail.com),因此引发了此异常

因此,电子邮件没有发送,仍然有错误。

所以我只是用

try {
  // send the email
} catch (System.Mail.SmtpException e) {
  // error message
}
于 2013-11-16T19:05:32.923 回答