1. 背景
TDengine IDMP 作(zuo)為一款 AI 原生(sheng)的物聯網、工業數據管(guan)理系(xi)統,旨在幫助企業快速高效的從(cong)運營(ying)數據中(zhong)挖掘出(chu)商業價(jia)值(zhi),架起 OT 到 IT 的橋梁。其中(zhong),郵件(jian)不(bu)失為一種成熟而穩定的通(tong)知途徑。IDMP 需要(yao)發送郵件(jian)的情況包括但不(bu)限于:
- 首次激活:IDMP 用郵件地址作為用戶 ID,首次激活必須通過郵件獲取驗證碼。
- 邀請用戶:超級管理員通過輸入郵件地址邀請其他人成為 IDMP 的用戶。
- 事件通知:通知類型可以是郵件、飛書、Webhook。郵件通知功能可在事件觸發時,向指定郵箱發送告警信息。
因(yin)此,如果想更好地使用(yong) IDMP,需要配(pei)置(zhi)(zhi) SMTP 服務(wu)(wu)器。系統(tong)安裝后,缺省的 SMTP 服務(wu)(wu)器配(pei)置(zhi)(zhi)為 TDengine 郵箱(xiang)。可根據需要配(pei)置(zhi)(zhi)為企業指(zhi)定(ding)的郵件服務(wu)(wu)器。
但是,有(you)些 IDMP 服務器所(suo)在(zai)的網(wang)絡(luo),不能訪(fang)問(wen)互聯網(wang)或企業郵(you)(you)箱服務,俗(su)稱“內網(wang)”。針對(dui)于此,本文介紹一(yi)種簡單(dan)可行(xing)的在(zai)內網(wang)環境快速搭建(jian) SMTP 郵(you)(you)件服務(MailHog)的方法(fa)。
IDMP 版本:1.0.4.4 以上。
2. 快速配置 MailHog
MailHog是(shi)一款(kuan)輕量級的郵件(jian)測試(shi)(shi)工具,主要用(yong)(yong)于開發(fa)(fa)和測試(shi)(shi)環境中模擬SMTP服(fu)務器(qi)。它(ta)可以捕獲(huo)應用(yong)(yong)程序發(fa)(fa)送(song)(song)的所有郵件(jian),而不實(shi)際發(fa)(fa)送(song)(song)到真(zhen)實(shi)收件(jian)人,非(fei)常適合在(zai)開發(fa)(fa)階段測試(shi)(shi)郵件(jian)發(fa)(fa)送(song)(song)功能。
MailHog提(ti)供兩種配置方(fang)式:
- 命令行參數:啟動時通過參數直接配置
- 環境變量:通過系統環境變量配置
兩種方(fang)(fang)式效果相同,可以根據使用場景選擇合(he)適的方(fang)(fang)式。環境變量方(fang)(fang)式更適合(he)容器化部署場景。
2.1 運行 MailHog
本例假(jia)設在本地(di)或宿主機方(fang)式直(zhi)接運行 MailHog,方(fang)法很簡(jian)單。
- 下載對應的版本:,例如:
- Windows系統請下載
MailHog_windows_amd64.exe - Linux 系統請下載
MailHog_linux_amd64或MailHog_linux_arm - macOS 系統請下載
MailHog_darwin_amd64
- Windows系統請下載
- 上傳到目標服務器上
- 在服務器上運行 MailHog
- 如果是 Windows 系統,直接運行 MailHog_windows_amd64.exe 即可
- 如果是 Linux/macOS 系統,為文件添加可執行權限(例如
chmod +x MailHog_linux_amd64),然后運行
2.2 高級配置(可選):將 MailHog 設為系統服務
為了(le)讓 MailHog 在服務器(qi)啟(qi)動時自動運行并在后臺持(chi)續(xu)工作,最好(hao)將(jiang)其(qi)配置為系(xi)統服務。
以 Linux 系統為(wei)例:
1. 創(chuang)建一個(ge)服務配置(zhi)文件:
sudo vim /etc/systemd/system/mailhog.service
2. 將以下內容寫入文件(請根據您的實際路徑修改 ExecStart):
[Unit]
Description=MailHog Email Catcher
After=network.target
[Service]
Type=simple
User=mailhog
ExecStart=/home/MailHog_linux_amd64
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
3. 保存后,啟用(yong)并啟動服務:
sudo systemctl daemon-reload
sudo systemctl enable mailhog
sudo systemctl start mailhog
sudo systemctl status mailhog # 檢查運行狀態
這樣,MailHog 就會作為守護進程在后(hou)臺運行,即使關閉終端也不會停止。
2.3 配置小結
| 項 | 配置 |
| ??SMTP 服務器?? | localhost |
| ??SMTP 端口?? | 1025 |
| ??Web 管理界面?? | |
| ??認證?? | 默認禁用(無需用戶名密碼) |
| ??運行方式?? | 直接執行二進制文件或配置為系統服務 |
運行后,可以瀏覽器 //IP:8025 訪問 Web 管理界面:

3. 驗證
3.1 激活 IDMP
瀏覽器 //IP:6042 訪問 IDMP 實例,首次訪問將出現(xian)激活(huo)頁面,填寫(xie)“郵箱”和(he)“組織”后(hou),【獲取驗證碼(ma)】。
3.1.1 更新郵件服務器配置
此時因為服(fu)務器(qi)無法訪問互聯網(wang),將彈出頁面讓您提供正(zheng)確的郵(you)件服(fu)務器(qi)配置。
主機:如果 IDMP 是通過安裝包部署,填寫 localhost;如果是通過 Docker / Docker Compose 部署,則填寫 host.docker.internal 或 Docker橋接網絡的IP(通常為172.17.0.1,具體可通過 docker inspect docker_taos_net 查看)
端口:1025
用戶名 / 密碼:隨意填寫。因 MailHog 默認(ren)禁用認(ren)證,實際上無需用戶名密碼(ma)。
啟用 TLS / 啟用認證:取消勾選
【檢查】,提示 檢查通過!,【保存】

3.1.2 在內網環境激活
回到激活頁面,【獲取驗證碼】,此時將提示 發送成功。
說明:如果提示 驗證碼已經發送,請稍后重試。,請10分鐘后再點擊獲取。

到 MailHog 的 Web 管理界面( //IP:8025 )查收郵件。

在 IDMP 激(ji)(ji)活(huo)界面(mian)輸入(ru)郵件中的激(ji)(ji)活(huo)碼后,【激(ji)(ji)活(huo)】。激(ji)(ji)活(huo)成功(gong),MailHog 將(jiang)再次(ci)收到一封郵件提醒(xing)。

在 IDMP 點擊右上角頭(tou)像,【管理后臺】->【系統配置】->【郵件(jian)服務器配置】,將發現(xian)已更新為(wei)內網郵件(jian)服務。

3.2 邀請用戶
3.2.1 邀請新用戶
在 IDMP 點擊右上角頭像,【管理后臺】->【用戶管理】->【用戶】,點擊【+】按鈕,邀請新用戶(zhangsan@example.com),賦予角色為 經理和主管

【保存】,提示 邀請用戶成功。此時 MailHog 將收到(dao)一封新(xin)郵件

3.2.2 新用戶激活
【點擊激活】,填寫用戶“張三”的信息,【繼續】,提示 注冊成功

如果使用超級管理員登錄 IDMP,將發現新用戶“張三”已是 ACTIVE 狀態。

而 MailHog 也收到郵件(jian)歡迎(ying)新用戶的加入。

3.3 事件通知
3.3.1 配置通知途徑
在 IDMP 點擊(ji)右上角頭像,【管(guan)理后臺】->【系(xi)統配置(zhi)】->【通知(zhi)途(tu)(tu)徑(jing)】,可以看到系(xi)統當(dang)前(qian)的(de)通知(zhi)途(tu)(tu)徑(jing)列表,默認已(yi)創(chuang)(chuang)建(jian)一(yi)條包(bao)含(han)管(guan)理員郵(you)箱(xiang)的(de)通知(zhi)途(tu)(tu)徑(jing)數據。點擊(ji)【+】按鈕(niu)可以創(chuang)(chuang)建(jian)更多(duo)通知(zhi)途(tu)(tu)徑(jing)。

3.3.2 郵件通知
郵(you)件通知(zhi)功能(neng)可(ke)在事件觸發(fa)時,向(xiang)指定郵(you)箱發(fa)送告(gao)警信息。
您可(ke)根(gen)據您的實際場景(jing),在 IDMP 中創建分析(xi),生成滿足(zu)特(te)定條件的事(shi)件以(yi)觸(chu)發通知(zhi)機制,進而(er)驗證郵件通知(zhi)功能是否正常(chang)。此文不(bu)再贅(zhui)述。



























