assuntos de email dinâmicos com Elmah?
Pergunta
Eu estou usando a funcionalidade errorMail de Elmah para enviar um e-mail quando ASP.NET encontrar um erro. Ele permite que você configure as configurações de SMTP, bem como codificar um remetente, destinatário e assunto.
A minha pergunta é: Posso usar um assunto dinâmico ? Especificamente, eu gostaria de usar a propriedade Exception.Message como meu assunto, para que eu possa dizer o que o erro é sobre apenas a partir da linha de assunto do e-mail.
Não há nenhuma documentação, e de uma varredura rápida do código-fonte que parece impossível sem modificar o código, mas eu pensei que eu iria fazer a pergunta de qualquer maneira.
código fonte relevante:
Solução
Doh! Resposta está na href="http://code.google.com/p/elmah/source/browse/trunk/src/Elmah/ErrorMailModule.cs#454" 454 de ErrorMailModule.cs :
string subjectFormat = Mask.EmptyString(this.MailSubjectFormat, "Error ({1}): {0}");
mail.Subject = string.Format(subjectFormat, error.Message, error.Type)
.Replace('\r', ' ')
.Replace('\n', ' ');
Você pode usar {0} para a mensagem e {1} para o tipo.
Outras dicas
Eu mudei o assunto de e-mail a partir do arquivo web.config da seguinte maneira:
<errorMail from="..." subject="Some subject: {0}">
onde {0} será a mensagem de exceção.
Você pode verificar este artigo para mais detalhes http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module