1. 背景
TDengine IDMP 作为一款 AI 原生的物联网、工业数据管理系统,旨在帮助企业快速高效的从运营数据中挖掘出商业价值,架起 OT 到 IT 的桥梁。其中,邮件不失为一种成熟而稳定的通知途径。IDMP 需要发送邮件的情况包括但不限于:
- 首次激活:IDMP 用邮件地址作为用户 ID,首次激活必须通过邮件获取验证码。
- 邀请用户:超级管理员通过输入邮件地址邀请其他人成为 IDMP 的用户。
- 事件通知:通知类型可以是邮件、飞书、Webhook。邮件通知功能可在事件触发时,向指定邮箱发送告警信息。
因此,如果想更好地使用 IDMP,需要配置 SMTP 服务器。系统安装后,缺省的 SMTP 服务器配置为 TDengine 邮箱。可根据需要配置为企业指定的邮件服务器。
但是,有些 IDMP 服务器所在的网络,不能访问互联网或企业邮箱服务,俗称“内网”。针对于此,本文介绍一种简单可行的在内网环境快速搭建 SMTP 邮件服务(MailHog)的方法。
IDMP 版本:1.0.4.4 以上。
2. 快速配置 MailHog
MailHog是一款轻量级的邮件测试工具,主要用于开发和测试环境中模拟SMTP服务器。它可以捕获应用程序发送的所有邮件,而不实际发送到真实收件人,非常适合在开发阶段测试邮件发送功能。
MailHog提供两种配置方式:
- 命令行参数:启动时通过参数直接配置
- 环境变量:通过系统环境变量配置
两种方式效果相同,可以根据使用场景选择合适的方式。环境变量方式更适合容器化部署场景。
2.1 运行 MailHog
本例假设在本地或宿主机方式直接运行 MailHog,方法很简单。
- 下载对应的版本:https://github.com/mailhog/MailHog/releases,例如:
- 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 设为系统服务
为了让 MailHog 在服务器启动时自动运行并在后台持续工作,最好将其配置为系统服务。
以 Linux 系统为例:
1. 创建一个服务配置文件:
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. 保存后,启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable mailhog
sudo systemctl start mailhog
sudo systemctl status mailhog # 检查运行状态
这样,MailHog 就会作为守护进程在后台运行,即使关闭终端也不会停止。
2.3 配置小结
项 | 配置 |
SMTP 服务器 | localhost |
SMTP 端口 | 1025 |
Web 管理界面 | http://localhost:8025 |
认证 | 默认禁用(无需用户名密码) |
运行方式 | 直接执行二进制文件或配置为系统服务 |
运行后,可以浏览器 http://IP:8025
访问 Web 管理界面:

3. 验证
3.1 激活 IDMP
浏览器 http://IP:6042
访问 IDMP 实例,首次访问将出现激活页面,填写“邮箱”和“组织”后,【获取验证码】。
3.1.1 更新邮件服务器配置
此时因为服务器无法访问互联网,将弹出页面让您提供正确的邮件服务器配置。
主机:如果 IDMP 是通过安装包部署,填写 localhost
;如果是通过 Docker / Docker Compose 部署,则填写 host.docker.internal
或 Docker桥接网络的IP(通常为172.17.0.1
,具体可通过 docker inspect docker_taos_net
查看)
端口:1025
用户名 / 密码:随意填写。因 MailHog 默认禁用认证,实际上无需用户名密码。
启用 TLS / 启用认证:取消勾选
【检查】,提示 检查通过!
,【保存】

3.1.2 在内网环境激活
回到激活页面,【获取验证码】,此时将提示 发送成功
。
说明:如果提示 验证码已经发送,请稍后重试。
,请10分钟后再点击获取。

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

在 IDMP 激活界面输入邮件中的激活码后,【激活】。激活成功,MailHog 将再次收到一封邮件提醒。

在 IDMP 点击右上角头像,【管理后台】->【系统配置】->【邮件服务器配置】,将发现已更新为内网邮件服务。

3.2 邀请用户
3.2.1 邀请新用户
在 IDMP 点击右上角头像,【管理后台】->【用户管理】->【用户】,点击【+】按钮,邀请新用户(zhangsan@example.com),赋予角色为 经理和主管

【保存】,提示 邀请用户成功
。此时 MailHog 将收到一封新邮件

3.2.2 新用户激活
【点击激活】,填写用户“张三”的信息,【继续】,提示 注册成功

如果使用超级管理员登录 IDMP,将发现新用户“张三”已是 ACTIVE
状态。

而 MailHog 也收到邮件欢迎新用户的加入。

3.3 事件通知
3.3.1 配置通知途径
在 IDMP 点击右上角头像,【管理后台】->【系统配置】->【通知途径】,可以看到系统当前的通知途径列表,默认已创建一条包含管理员邮箱的通知途径数据。点击【+】按钮可以创建更多通知途径。

3.3.2 邮件通知
邮件通知功能可在事件触发时,向指定邮箱发送告警信息。
您可根据您的实际场景,在 IDMP 中创建分析,生成满足特定条件的事件以触发通知机制,进而验证邮件通知功能是否正常。此文不再赘述。