문제

가 사용하는 사람 를 보내외 이메일을 통해?나 를 로깅을 통해 설정하는 SQL Server,과를 볼 수 있는 오류 페이지를 통해 를.axd 페이지 하지만 나는 얻을 수 없는 이메일 요소이다.여기에서 아이디어를 얻는 이메일 통지할 수 있도록 우리는 더 신속하게 대응하여 예외가 있습니다.여기에 내 web.config(불필요한 sectionss 생략),모든 중요 데이터로 대체***.더라도 나를 지정하면 서버에 연결하고,SMTP 서비스를 로컬 컴퓨터에서 실행되는?

<?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="test@test.com"
           to="test@test.com"
           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>
도움이 되었습니까?

해결책

당신은 필요합 ErrorMail httpModule.

이 줄을 추가 내부에 <httpModules> 섹션

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

만약 당신이 사용하여 원격 SMTP 서버는(그것은 다음과 같은)당신은 당신이 필요하지 않 SMTP 서버에 있습니다.

다른 팁

예,사용하지 않는 경우에는 원격 SMTP 서버에 있어야 합니다 SMTP 서버의 구성됩니다.구성할 수도 있습니다 이메일 를 웹.config 다음과 같다:

<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>

내가 사용 를 자신이 이 구성에서 나는 설정을 서버로 SMTP 습니다.그것은 바로 앞으로 설치에 당신은 로컬 IIS 서버입니다.이해야 합니다.

좋은 지적상,당신은 필요합 errorMail 지만 모듈을 사용하지 않는 경우 원격 SMTP 서버 당신이 필요 SMTP 로컬로,단지입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top