Elmah的动态电子邮件主题?

时间:2009-08-19 14:42:28

标签: asp.net elmah

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

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

没有文档,并且在不修改代码的情况下快速扫描源代码看起来是不可能的,但我认为无论如何我都会问这个问题。

相关源代码:

2 个答案:

答案 0 :(得分:12)

卫生署!答案在line 454 of ErrorMailModule.cs

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

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

答案 1 :(得分:1)

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

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

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

您可以查看此文章了解更多详情http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module