关于.net:发送来自Elmah的电子邮件?

关于.net:发送来自Elmah的电子邮件?

Send email from Elmah?

是否有人使用Elmah通过电子邮件发送例外? 我已经通过SQL Server设置了Elmah日志记录,并且可以通过Elmah.axd页面查看错误页面,但是我无法使电子邮件组件正常工作。 这里的想法是获取电子邮件通知,以便我们可以更快地对异常做出反应。 这是我的web.config(省略不必要的部分),所有敏感数据都替换为* * *。 即使我指定要连接的服务器,SMTP服务是否仍需要在本地计算机上运行?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?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>
   
    <connectionStrings>
       
    </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"/>
           
           
           
           
        </httpHandlers>
        <httpModules>
           
           
        </httpModules>
    </system.web>

</configuration>

您需要ErrorMail httpModule。

部分中添加此行

1
 

如果您使用的是远程SMTP服务器(看起来像您一样),则服务器上不需要SMTP。


是的,如果您不使用远程SMTP服务器,则必须在本地配置SMTP服务器。 您还可以在web.config中为elmah配置电子邮件,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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服务器上的直接安装。 这应该可以解决问题。

上面的要点是,如果不使用远程SMTP服务器,则需要使用errorMail模块,但为了澄清起见,您需要在本地使用SMTP。


推荐阅读

    linux命令设置中文?

    linux命令设置中文?,系统,工作,数据,管理,设备,环境,标的,第一,网上,模式,lin

    设置网址命令linux?

    设置网址命令linux?,地址,系统,网络,代码,网址,密码,信息,电脑,管理,基础,lin

    linux命令长度设置?

    linux命令长度设置?,地址,工作,命令,管理,环境,系统,信息,目录,文件,参数,Lin

    linux双ip设置命令?

    linux双ip设置命令?,地址,系统,代码,网络,设备,服务,通讯,名称,信息,密码,lin

    linux用户组命令设置?

    linux用户组命令设置?,管理,系统,密码,代码,电脑,用户组,用户,软件,新增,命

    linux密钥设置命令?

    linux密钥设置命令?,密码,服务,数据,认证,环境,官网,系统,概念,通信,管理,如

    命令行怎么设置linux?

    命令行怎么设置linux?,系统,工作,命令,密码,信息,地方,工具,终端,文件,目录,

    linux内核设置命令?

    linux内核设置命令?,系统,信息,工作,管理,地址,命令,名称,情况,发行,目录,如

    linux设置任务命令?

    linux设置任务命令?,工作,时间,系统,周期,定期,管理,信息,命令,任务,目录,lin

    linux设置开机命令?

    linux设置开机命令?,设备,标准,系统,工作,服务,代码,命令,方式,级别,电源,重

    设置linux分辨率命令?

    设置linux分辨率命令?,系统,情况,分辨率,屏幕分辨率,屏幕,两边,桌面,命令,

    linux路由器命令设置?

    linux路由器命令设置?,网络,信息,系统,代码,地址,路由,名称,环境,情况,工作,l

    linux安装组件包命令?

    linux安装组件包命令?,软件,官网,服务,系统,工具,发行,工作,信息,名称,命令,L

    linux设置串口命令?

    linux设置串口命令?,设备,信息,系统,数据,一致,代码,项目,波特率,文件,操作,l

    linux刷新率设置命令?

    linux刷新率设置命令?,系统,数字,分辨率,传播,情况,频率,屏幕,桌面,命令,屏

    linux设置重启命令?

    linux设置重启命令?,工作,标准,设备,系统,命令,提示,主机,方式,服务器,网络

    linux硬盘设置命令行?

    linux硬盘设置命令行?,管理,系统,情况,环境,数据,发行,位置,名称,软件,检测,L

    linux命令设置字体?

    linux命令设置字体?,系统,字体,终端,颜色,服务,软件,实时,适当,电脑,命令,lin

    linux设置用户名命令?

    linux设置用户名命令?,系统,密码,用户,用户名,联系方式,命令,终端,文件,权