Динамические темы электронной почты с Elmah?
Вопрос
Я использую функцию errorMail Эльмах для отправки электронного письма, когда ASP.NET обнаруживает ошибку.Он позволяет вам настроить параметры SMTP, а также жестко запрограммировать отправителя, получателя и тему.
Мой вопрос: могу ли я использовать динамический предмет?В частности, я хотел бы использовать свойство Exception.Message в качестве темы, чтобы можно было определить, в чем заключается ошибка, просто по теме письма.
Документации нет, и при беглом просмотре исходного кода кажется невозможным без изменения кода, но я все равно решил задать вопрос.
Соответствующий исходный код:
Решение
Да!Ответ включен строка 454 файла 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} для типа.
Другие советы
Я изменил тему электронного письма из файла web.config следующим образом:
<errorMail from="..." subject="Some subject: {0}">
где {0} будет сообщением об исключении.
Вы можете проверить эту статью для более подробной информации http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module