net mvc asp .net asp.net elmah

.net - mvc - ¿Enviar correo electrónico desde Elmah?



elmah github (3)

He utilizado Elmah en esta configuración y tuve que configurar el servidor con SMTP localmente. Es una instalación directa en su servidor IIS local. Esto debería funcionar.

Buen punto anterior, necesitas el módulo errorMail PERO si no estás utilizando un servidor SMTP remoto, necesitas SMTP localmente, solo para aclarar.

¿Alguien está usando a Elmah para enviar excepciones por correo electrónico? Tengo el registro de Elmah configurado a través de SQL Server, y puedo ver la página de errores a través de la página Elmah.axd, pero no puedo hacer que el componente de correo electrónico funcione. La idea aquí es obtener la notificación por correo electrónico para que podamos reaccionar más rápidamente a las excepciones. Aquí está mi web.config (secciones innecesarias omitidas), con todos los datos confidenciales reemplazados por * * *. Aunque estoy especificando un servidor para conectarme, ¿el servicio SMTP debe ejecutarse en la máquina local?

<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="elmah"> <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/> <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/> <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/> </sectionGroup> </configSections> <appSettings/> <connectionStrings> <add name="elmah-sql" connectionString="Data Source=***;Initial Catalog=***;Persist Security Info=True;User ID=***;Password=***" /> </connectionStrings> <elmah> <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sql" > </errorLog> <errorMail from="[email protected]" to="[email protected]" subject="Application Exception" async="false" smtpPort="25" smtpServer="***" userName="***" password="***"> </errorMail> </elmah> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="CustomError.aspx"> <error statusCode="403" redirect="NotAuthorized.aspx" /> <!--<error statusCode="404" redirect="FileNotFound.htm" />--> </customErrors> <httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> </httpHandlers> <httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> </httpModules> </system.web> </configuration>


Necesita el httpModule ErrorMail.

agregue esta línea dentro de la sección <httpModules>

<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />

Si está utilizando un servidor SMTP remoto (que parece que es), no necesita SMTP en el servidor.


Sí, si no está utilizando el servidor SMTP remoto, debe tener el servidor SMTP configurado localmente. También puede configurar el correo electrónico para elmah en web.config de la siguiente manera:

<configSections> <sectionGroup name="elmah"> <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"> </sectionGroup> </configSections> <elmah> <errorMail from="from Mail Address" to="to mail address" async="true" smtpPort="0" useSsl="true" /> </elmah> <system.net> <mailSettings> <smtp deliveryMethod ="Network"> <network host="smtp.gmail.com" port="587" userName="yourgmailEmailAddress" password="yourGmailEmailPassword" /> </smtp> </mailSettings> </system.net>