NLog 教學:快速建立自訂日誌紀錄(Email 篇)

Tom
appxtech
Published in
5 min readJun 6, 2023

NLog 是一款開源的 .Net 平台 logging 套件,其提供了非常多樣化的 logging 方法,提供簡單快速的設定方式,讓開發人員快速上手,也很容易修改 log 設定,同時擁有非常好的效能表現,不會對程式執行造成負擔。

今天這篇內容要來記錄使用 NLog 發送通知 Email 的方法。

因為本篇選擇使用 Gmail 作為 寄信的工具,而要使用 Gmail SMTP 寄信會需要幫寄信的帳號取得一組 Google 的郵件應用程式密碼,以下是完整步驟~

取得 Gmail SMTP 密碼

本次範例使用 Gmail 作為寄送通知 Email 的帳號,而其必須使用 SMTP 密碼進行驗證,所以先依照下方流程申請密碼.

  1. 進入 Google 帳戶管理頁面.

2. 進入“安全性”設定畫面.

3. 點選“兩步驟驗證” .

4. 若未啟用,須先依照流程啟用兩步驟驗證功能.

5. 啟用成功後,點選進入應用程式密碼.

6. 申請郵件應用程式的密碼,選擇”郵件”與您的裝置(不影響)

7. 最終畫面黃框中的文字即是此帳號的一組 SMTP 密碼.

記下此密碼,複製到安全的地方保留(忘記的話重新申請即可)。

NLog 設定檔

要使用 NLog 寄送 Email 通知,使用 NLog 內建的 Mail Target 。

👉 【Mail Target 文件連結】 👈

Mail target 屬性簡單介紹

  1. Layout Options
    - layout : (必填) NLog 常用屬性,可定義郵件內文格式 👉
    [詳情參考文件]
  2. Message Options
    - subject : (必填) Email 主旨、標題.
    - from : (必填) sender 郵件地址
    - to : mail 收信人郵件地址. (NLog 4.0 後非必填,有填 bcc or cc 即可)
    - bcc : 密件副本收信人郵件地址.
    - cc : 副本收信人郵件地址.
    (to, bcc, cc 可用 ; 區隔收信人地址 : “123@gmail.com;456@gmail.com”)
  3. SMTP Options
    - smtpAuthentication : SMTP Server 的認證方法 : Basic, None, Ntlm.
    - smtpUserName : 使用 SMTP Server 時使用的名稱.
    - smtpPassword : 使用 SMTP Server 時的認證密碼.
    - smtpServer : 要使用的 SMTP Server.
    - smtpPort : SMTP Server 的 Port.

NLog 設定檔

用上面的設定填入你的 Gmail 帳號 & 申請的密碼,再填入收件人地址。

測試

經過測試後可以順利收到信

--

--

Tom
appxtech
Writer for

Major in Computer Science, Web Backend Engineer