반응형
엘마에서 이메일을 보내시겠습니까?
이메일로 예외를 보내기 위해 엘마를 사용하는 사람이 있습니까?SQL Server를 통해 Elmah logging을 설정하고 Elmah를 통해 오류 페이지를 볼 수 있습니다.axd 페이지입니다. 하지만 이메일 구성 요소가 작동하지 않습니다.여기서는 예외에 보다 신속하게 대응할 수 있도록 전자 메일 알림을 받는 것이 좋습니다.여기 제 web.config(불필요한 섹션 생략)가 있습니다. 모든 중요한 데이터가 * * *로 대체되었습니다. 연결할 서버를 지정하는 경우에도 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 서버를 로컬로 구성해야 합니다.web.config에서 elmah에 대한 이메일을 다음과 같이 구성할 수도 있습니다.
<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>
저는 이 구성에서 Elmah를 직접 사용했으며 SMTP로 서버를 로컬로 설정해야 했습니다.로컬 IIS 서버에 직접 설치할 수 있습니다.이 정도면 효과가 있을 겁니다.
위의 좋은 점은 errorMail 모듈이 필요하지만 원격 SMTP 서버를 사용하지 않는 경우 로컬에서 SMTP가 필요하다는 것입니다.
언급URL : https://stackoverflow.com/questions/34401/send-email-from-elmah
반응형
'programing' 카테고리의 다른 글
iOS에서 Firebase Crashlytics 설정? (0) | 2023.06.15 |
---|---|
날짜를 숫자로 변환하는 공식 (0) | 2023.06.15 |
벡터에 고유한 값을 R로 나열 (0) | 2023.06.10 |
문자열 변수에서 모듈 가져오기 (0) | 2023.06.10 |
JPA 수준에서 잠긴 업데이트 건너뛰기에 대한 선택 (0) | 2023.06.10 |