Quelqu'un utilise-t-il Elmah pour envoyer des exceptions par e-mail? J'ai configuré la journalisation Elmah via SQL Server et je peux afficher la page des erreurs via la page Elmah.axd, mais je ne parviens pas à faire fonctionner le composant de messagerie. L'idée ici est de recevoir la notification par e-mail afin que nous puissions réagir plus rapidement aux exceptions. Voici mon web.config (sections inutiles omises), avec toutes les données sensibles remplacées par * * *. Même si je spécifie un serveur auquel se connecter, le service SMTP doit-il être exécuté sur la machine locale?
<?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>
Oui, si vous n'utilisez pas de serveur SMTP distant, le serveur SMTP doit être configuré localement. Vous pouvez également configurer le courrier électronique pour elmah dans web.config comme suit:
la source
J'ai moi-même utilisé Elmah dans cette configuration et j'ai dû installer le serveur avec SMTP localement. Il s'agit d'une installation simple sur votre serveur IIS local. Cela devrait faire l'affaire.
Bon point ci-dessus, vous avez besoin du module errorMail MAIS si vous n'utilisez pas de serveur SMTP distant, vous avez besoin de SMTP localement, juste pour clarifier.
la source