文中转载微信公众平台「UP技术流」,创作者conan5566 。转截文中请联络UP技术流微信公众号。
情况
NLog能够将日志輸出到不一样的媒体上,电子邮件是在其中一个,根据电子邮件能够使我们第一时间接到信息内容。应用SMTP协议书根据电子邮件发送日志信息。与FallbackGroup Target非常好地融合在一起,以建立具备好几个SMTP服务器的储备。
配备英语的语法
- <targets>
- <target xsi:type="Mail"
- name="String"
- header="Layout"
- footer="Layout"
- layout="Layout"
- html="Boolean"
- addNewLines="Boolean"
- replaceNewlineWithBrTagInHtml="Boolean"
- encoding="Encoding"
- subject="Layout"
- to="Layout"
- bcc="Layout"
- cc="Layout"
- from="Layout"
- body="Layout"
- smtpUserName="Layout"
- enableSsl="Boolean"
- secureSocketOption="None|Auto|SslOnConnect|StartTls|StartTlsWhenAvailable"*
- smtpPassword="Layout"
- smtpAuthentication="Enum"
- smtpServer="Layout"
- smtpPort="Integer"
- useSystemNetMailSettings="Boolean"
- deliveryMethod="Enum"
- pickupDirectoryLocation="String"
- timeout="Integer"
- skipCertificateValidation="Boolean"
- priority="Layout"
- />
- </targets>
主要参数
基本选择项
- 名字-总体目标名字。
- 合理布局选择项
- 标题文字-标题文字。合理布局
- 底部-底部。合理布局
- 合理布局-要3D渲染的文字。必须合理布局。初始值:${message}${newline}。与人体特性同样
- html-标示是不是以HTML而不是纯文字方式推送信息。布尔运算初始值:false
- addNewLines-标示是不是在日志内容中间加上新行。布尔型
- replaceNewlineWithBrTagInHtml -标示是不是在人体自动换行标识符应改成
- 标识。布尔运算初始值:false
- 编号-用以推送电子邮箱的编号。编号初始值:UTF-8信息选择项
- 主题风格-邮件主题。必须合理布局。初始值:来源于$ {machinename}上NLog的信息
- 到-收货人的电子邮箱详细地址,用分号隔开(比如john@domain.com;jane@domain.com)。合理布局。从NLog 4.0逐渐,不会再必须此字段名,但应界定To,BCC或CC,不然将引起出现异常。
- 密件抄送-用分号隔开的密件抄送电子邮箱详细地址(比如john@domain.com;jane@domain.com)。合理布局
- cc-用分号隔开的CC电子邮箱详细地址(比如john@domain.com;jane@domain.com)。合理布局
- 来源于-发货人的电子邮箱详细地址(比如joe@domain.com)。必须合理布局。
- 体-同合理布局特性。电子邮件信息文章正文(针对一封电子邮件中推送的一条日志信息反复)。合理布局初始值:${message}${newline}
- 优先-电子邮件优先。
- 当应用没有NLog.MailKit程序包的NLog时,请应用System.Net.Mail.MailPriority。Low,Normal,High。
- 应用版本号最大为v3.1的Nlog NLog.MailKit版本号时,有效值为MimeKit.MessagePriority。NonUrgent,Normal,Urgent
- NLog.MailKit V3.2和所述接纳NonUrgent / Low,Normal,Urgent / High为了更好地向后兼容MTP选择项
- smtpUserName-用以联接到SMTP网络服务器的登录名(在SmtpAuthentication设定为“基础”时应用)。合理布局
- enableSsl-标示在与SMTP网络服务器通讯时是不是应应用SSL(安全性套接字层)。布尔值初始值:False。留意:端口号465不适感用以SSL。见难题1226
- secureSocketOption-仅在NLog.Mailkit 2.1 中。出示一种特定SSL和/或TLS数据加密的方法。默认设置为StartTlsWhenAvailable。选择项:无,全自动,SslOnConnect,StartTls和StartTlsWhenAvailable。假如enableSsl设定为true,将应用SslOnConnect
- smtpPassword-用以对于SMTP服务器虚拟机身份认证的登陆密码(在SmtpAuthentication设定为“基础”时应用)。合理布局
- smtpAuthentication -SMTP身份认证方式。初始值:无
很有可能的值:
- 基础-基础-登录名和登陆密码。
- 无-无身份认证。
- Ntlm -NTLM身份认证。
- smtpServer-用以推送的SMTP网络服务器。必须合理布局。
- smtpPort -SMTP网络服务器已经监听的服务器端口。整数金额缺省值:25。留意:端口号465不兼容SSL。见难题1226
- useSystemNetMailSettings-从system.net/mailSettings强制性应用smtp配备。布尔运算初始值:False
- 请求超时-表明SMTP手机客户端请求超时(以ms为企业)。整数金额初始值:10000(10秒)
- PickupDirectoryLocation-获得或设定应用软件用于储存要由当地SMTP网络服务器解决的电子邮件的文件夹名称(在NLog 4.2中引进)。
- deliveryMethod-特定将如何处理传来电子邮箱(在NLog 4.2中引进)。初始值:互联网很有可能的值:
- 互联网-电子邮箱根据互联网发送至SMTP网络服务器。
- PickupDirectoryFromIis-电子邮箱被拷贝到当地Internet数据服务(IIS)应用的获取文件目录中以开展传送。
- SpecifiedPickupDirectory-将电子邮箱拷贝到PickupDirectoryLocation特性特定的文件目录中,以供外界应用软件传送。
skipCertificateValidation-仅适用NLog.MailKit。在NLog.MailKit 1.1中引进-绕过SSL验证查验
完成方法
1、vs加上引入NLog.MailKit
2、配备nlog
- <nlog>
- <extensions>
- <add assembly="NLog.MailKit"/>
- </extensions>
- ...
3、config配备电子邮箱信息内容
- <system.net>
- <mailSettings>
- <smtp from="mail@domain.com" deliveryMethod="SpecifiedPickupDirectory">
- <network host="localhost" port="25"/>
- <specifiedPickupDirectory pickupDirectoryLocation="C:/Temp/Email"/>
- </smtp>
- </mailSettings>
- </system.net>
4、配备日志主要参数
- <target xsi:type="FallbackGroup"
- name="mail"
- returnToFirstOnSuccess="true">
- <target xsi:type="Mail"
- name="mailserver1"
- subject="Layout"
- to="Layout"
- from="Layout"
- smtpServer="mx1.example.com"
- smtpPort="Integer"
- layout="Layout" />
- <target xsi:type="Mail"
- name="mailserver2"
- subject="Layout"
- to="Layout"
- from="Layout"
- smtpServer="mx2.example.com"
- smtpPort="Integer"
- layout="Layout" />
-
- </target>
最终就可以接到日志电子邮件啦。
参照详细地址
https://github.com/nlog/NLog/wiki/Mail-target
the end
免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。