Verwendet jemand Elmah, um Ausnahmen per E-Mail zu senden? Ich habe die Elmah-Protokollierung über SQL Server eingerichtet und kann die Fehlerseite über die Seite Elmah.axd anzeigen, aber ich kann die E-Mail-Komponente nicht zum Laufen bringen. Die Idee hier ist, die E-Mail-Benachrichtigung zu erhalten, damit wir schneller auf Ausnahmen reagieren können. Hier ist meine web.config (unnötige Abschnitte weggelassen), wobei alle vertraulichen Daten durch * * * ersetzt werden. Muss der SMTP-Dienst auf dem lokalen Computer ausgeführt werden, obwohl ich einen Server für die Verbindung angegeben habe?
<?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>
Ja, wenn Sie keinen Remote-SMTP-Server verwenden, muss der SMTP-Server lokal konfiguriert sein. Sie können E-Mails für elmah auch in web.config wie folgt konfigurieren:
quelle
Ich habe Elmah selbst in dieser Konfiguration verwendet und musste den Server lokal mit SMTP einrichten. Es ist eine einfache Installation auf Ihrem lokalen IIS-Server. Dies sollte den Trick tun.
Gut oben, Sie benötigen das errorMail-Modul, ABER wenn Sie keinen Remote-SMTP-Server verwenden, benötigen Sie SMTP lokal, nur um dies zu verdeutlichen.
quelle