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:

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top