zoukankan      html  css  js  c++  java
  • 让微软企业库中的Email Trace Listener使用需要身份验证的SMTP服务器

    微软企业库中的日志记录模块中有个Email Trace Listener。对于将网站部署到异地的应用来讲,这是一个非常有效的功能。因为我们可以通过电子邮件查看日志,进而了解我们开发的程序错误出现在何处,等等。

    通过Reflector查看Email Trace Listener的源码,发现它是采用.NET中内置的SmtpClient发送邮件的。

       1: public virtual void SendMessage(MailMessage message)
       2: {
       3:     new SmtpClient(this.configurationData.SmtpServer, this.configurationData.SmtpPort).Send(message);
       4: }

    经过查资料,发现SmtpClient默认是通过读取配置文件中的system.net配置节中的mailSettings配置节来发送邮件的。

    例如:

       1: <system.net>
       2:   <mailSettings>
       3:     <smtp deliveryMethod="Network" from="satan_1st.student@sina.com">
       4:       <network defaultCredentials="false" host="smtp.sina.com" userName="yourusername" password="yourpassword" port="25" />
       5:     </smtp>
       6:   </mailSettings>
       7: </system.net>

    这样就可以采用配置节中的身份验证机制连接SMTP服务器了。

    当然,这样就将程序发布到服务器上,难免会泄露我们的邮件账户,我们可以用Visual Studio自带的工具aspnet_regiis对该配置节进行加密。

    首先,在web.config中添加machineKey配置节,例如:

       1: <machineKey validationKey="AF436A80E46606B98D1F92FB7869D799E63CB1E0FA5E0E9EF8B3CCD0305DBE776ACBC7A7D829768F31427095CF22664CCE15793B492BE1312C1FD2AB9CDE4C45"
       2:   decryptionKey="72204A02EDFEC87293D0D54F1C5C71322F5188B96FAA446F" validation="SHA1" />

    可以用这个网站生成machineKey配置。

    然后,打开Visual Studio的控制台,输入aspnet_iis可以看到具体的帮助。

    关于受保护的配置节有关的消息,可在msdn中查阅到更具体的信息,这里给出一个连接演练:使用受保护的配置节

  • 相关阅读:
    在CentOS 8上安装Jitsi Meet
    centos8 安装docker
    [git]error: pack-objects died of signal
    Andorid 11调用系统裁剪
    XCode修改工程名(完美版)
    java分割后台日志
    五分钟搞定WebRTC视频录制
    一分钟教你构建属于你的视频会议SDK
    史上最全的WebRTC服务器技术选型分析
    数据库设计之思考
  • 原文地址:https://www.cnblogs.com/HCOONa/p/1590891.html
Copyright © 2011-2022 走看看