11

当 ASP.NET 遇到错误时,我正在使用Elmah的 errorMail 功能发送电子邮件。它允许您配置 SMTP 设置以及硬编码发件人、收件人和主题。

我的问题是:我可以使用动态主题吗?具体来说,我想使用 Exception.Message 属性作为我的主题,这样我就可以从电子邮件的主题行中判断错误是什么。

没有文档,从源代码的快速扫描看来,如果不修改代码是不可能的,但我想我还是会问这个问题。

相关源代码:

4

2 回答 2

13

嗬!答案在ErrorMailModule.cs 的第 454 行

string subjectFormat = Mask.EmptyString(this.MailSubjectFormat, "Error ({1}): {0}");
mail.Subject = string.Format(subjectFormat, error.Message, error.Type)
                .Replace('\r', ' ')
                .Replace('\n', ' ');

您可以使用 {0} 作为消息,使用 {1} 作为类型。

于 2009-08-19T14:47:04.080 回答
2

我以这种方式更改了 web.config 文件中的电子邮件主题:

<errorMail from="..." subject="Some subject: {0}">

其中 {0} 将是异常消息。

您可以查看这篇文章以获取更多详细信息http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module

于 2015-03-02T15:39:57.770 回答