Pregunta

Estoy usando la funcionalidad de errorMail Elmah para enviar un correo electrónico cuando ASP.NET encuentra un error. Se le permite configurar los ajustes de SMTP, así como codificar un remitente, destinatario, y el sujeto.

Mi pregunta es: ¿Puedo usar un asunto dinámico ? En concreto, me gustaría utilizar la propiedad Exception.Message como mi tema, por lo que yo puedo decir cuál es el error acerca sólo de la línea de asunto del correo electrónico.

No hay ninguna documentación, ya partir de un análisis rápido del código fuente que parece imposible sin modificar el código, pero yo pensaba que iba a hacer la pregunta de todos modos.

código fuente relevante:

¿Fue útil?

Solución

Doh! Respuesta está en línea 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', ' ');

Puede utilizar {0} para el mensaje y {1} para el tipo.

Otros consejos

He cambiado el asunto del correo electrónico desde el archivo web.config de esta manera:

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

donde {0} será el mensaje de excepción.

Puede comprobar este artículo para más detalles http://weblogs.asp.net/jeffwids/format-the-email-subject-in-the-elmah-error-logging-module

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top