我有一个页面,一切都很完美!问题或错误是,有时电力耗尽,我只有一个错误。错误或异常是服务器无法解析主机名:
无法解析远程名称:'smtp.gmail.com'
我正在使用IIS 8
,我确信这不是IIS错误,也不是ASP.NET
问题。
我搜索的内容:我在Google上搜索了很多,每个答案都是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来防止这种情况。但是怎么样。我无法解决这个问题。
答案 0 :(得分:0)
问题是System.Mail.SmtpException
。
此异常被抛出,因为网络无法连接或解析smtpserver(smtp.gmail.com)
因此,电子邮件未发送,但仍有错误。
所以我刚用过
try {
// send the email
} catch (System.Mail.SmtpException e) {
// error message
}