溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

日志框架NLog之怎么將日志發(fā)送到郵件

發(fā)布時間:2021-10-19 09:17:55 來源:億速云 閱讀:130 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“日志框架NLog之怎么將日志發(fā)送到郵件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“日志框架NLog之怎么將日志發(fā)送到郵件”吧!

背景

NLog可以將日志輸出到不同的媒介上,郵件是其中一個,通過郵件可以讓我們第一時間收到信息。使用SMTP協(xié)議通過電子郵件發(fā)送日志消息。與FallbackGroup  Target很好地結(jié)合在一起,以創(chuàng)建具有多個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>

參數(shù)

常規(guī)選項

  • 名稱-目標名稱。

  • 布局選項

  • 標頭-標頭。布局

  • 頁腳-頁腳。布局

  • 布局-要渲染的文本。需要布局。默認值:${message}${newline}。與身體屬性相同

  • html-指示是否以HTML而不是純文本形式發(fā)送消息。布爾默認值:false

  • addNewLines-指示是否在日志條目之間添加新行。布爾型

  • replaceNewlineWithBrTagInHtml -指示是否在身體換行字符應(yīng)改為

  • 標簽。布爾默認值:false

  • 編碼-用于發(fā)送電子郵件的編碼。編碼默認值:UTF-8訊息選項

  • 主題-郵件主題。需要布局。默認值:來自$ {machinename}上NLog的消息

  • 到-收件人的電子郵件地址,用分號分隔(例如john@domain.com;jane@domain.com)。布局。從NLog  4.0開始,不再需要此字段,但應(yīng)定義To,BCC或CC,否則將引發(fā)異常。

  • 密件抄送-用分號分隔的密件抄送電子郵件地址(例如john@domain.com;jane@domain.com)。布局

  • cc-用分號分隔的CC電子郵件地址(例如john@domain.com;jane@domain.com)。布局

  • 來自-發(fā)件人的電子郵件地址(例如joe@domain.com)。需要布局。

  • 體-同布局屬性。郵件消息正文(對于一封郵件中發(fā)送的每條日志消息重復(fù))。布局默認值:${message}${newline}

  • 優(yōu)先級-郵件優(yōu)先級。

    • 當使用不帶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服務(wù)器的用戶名(在SmtpAuthentication設(shè)置為“基本”時使用)。布局

  • enableSsl-指示在與SMTP服務(wù)器通信時是否應(yīng)使用SSL(安全套接字層)。布爾值默認值:False。注意:端口465不適用于SSL。見問題1226

  • secureSocketOption-僅在NLog.Mailkit  2.1+中。提供一種指定SSL和/或TLS加密的方式。默認為StartTlsWhenAvailable。選項:無,自動,SslOnConnect,StartTls和StartTlsWhenAvailable。如果enableSsl設(shè)置為true,將使用SslOnConnect

  • smtpPassword-用于針對SMTP服務(wù)器進行身份驗證的密碼(在SmtpAuthentication設(shè)置為“基本”時使用)。布局

  • smtpAuthentication -SMTP身份驗證模式。默認值:無

可能的值:

  • 基本-基本-用戶名和密碼。

  • 無-無身份驗證。

  • Ntlm -NTLM身份驗證。

  • smtpServer-用于發(fā)送的SMTP服務(wù)器。需要布局。

  • smtpPort -SMTP服務(wù)器正在偵聽的端口號。整數(shù)缺省值:25。注意:端口465不支持SSL。見問題1226

  • useSystemNetMailSettings-從system.net/mailSettings強制使用smtp配置。布爾默認值:False

  • 超時-表示SMTP客戶端超時(以毫秒為單位)。整數(shù)默認值:10000(10秒)

  • PickupDirectoryLocation-獲取或設(shè)置應(yīng)用程序用來保存要由本地SMTP服務(wù)器處理的郵件的文件夾(在NLog 4.2中引入)。

  • deliveryMethod-指定將如何處理傳出電子郵件(在NLog 4.2中引入)。默認值:網(wǎng)絡(luò)可能的值:

    • 網(wǎng)絡(luò)-電子郵件通過網(wǎng)絡(luò)發(fā)送到SMTP服務(wù)器。

    • PickupDirectoryFromIis-電子郵件被復(fù)制到本地Internet信息服務(wù)(IIS)使用的提取目錄中以進行傳遞。

    • SpecifiedPickupDirectory-將電子郵件復(fù)制到PickupDirectoryLocation屬性指定的目錄中,以供外部應(yīng)用程序傳遞。

skipCertificateValidation-僅適用于NLog.MailKit。在NLog.MailKit 1.1中引入-跳過SSL認證檢查

實現(xiàn)方式

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、配置日志參數(shù)

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

最后就可以收到日志郵件啦。

感謝各位的閱讀,以上就是“日志框架NLog之怎么將日志發(fā)送到郵件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對日志框架NLog之怎么將日志發(fā)送到郵件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI