我正在使用Elmah的errorMail功能在ASP.NET遇到错误时发送电子邮件。它允许您配置SMTP设置以及硬编码发件人,收件人和主题。
我的问题是:我可以使用动态主题吗?具体来说,我想使用Exception.Message属性作为我的主题,以便我可以从电子邮件的主题行告诉错误是什么。
没有文档,并且在不修改代码的情况下快速扫描源代码看起来是不可能的,但我认为无论如何我都会问这个问题。
相关源代码:
答案 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', ' ');
答案 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