Динамические темы электронной почты с Elmah? - PullRequest
10 голосов
/ 19 августа 2009

Я использую функцию errorMail Elmah для отправки электронного письма, когда ASP.NET обнаруживает ошибку. Он позволяет вам настраивать параметры SMTP, а также жестко кодировать отправителя, получателя и тему.

Мой вопрос: можно ли использовать динамический предмет ? В частности, я хотел бы использовать свойство Exception.Message в качестве моей темы, чтобы я мог определить причину ошибки только из строки темы электронного письма.

Нет документации, и после быстрого сканирования исходного кода это выглядит невозможным без изменения кода, но я подумал, что все равно задам вопрос.

Соответствующий исходный код:

Ответы [ 2 ]

12 голосов
/ 19 августа 2009

Doh! Ответ на строка 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} для типа.

1 голос
/ 02 марта 2015

Я изменил тему письма из файла web.config следующим образом:

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

где {0} будет сообщением об исключении.

Вы можете проверить эту статью для более подробной информации http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module

...