内网搭建邮件服务,打通 TDengine IDMP 通知途径

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,方法很简单。

  1. 下载对应的版本:https://github.com/mailhog/MailHog/releases,例如:
    • Windows系统请下载 MailHog_windows_amd64.exe
    • Linux 系统请下载 MailHog_linux_amd64MailHog_linux_arm
    • macOS 系统请下载 MailHog_darwin_amd64
  2. 上传到目标服务器上
  3. 在服务器上运行 MailHog
    • 如果是 Windows 系统,直接运行 MailHog_windows_amd64.exe 即可
    • 如果是 Linux/macOS 系统,为文件添加可执行权限(例如 chmod +x MailHog_linux_amd64),然后运行

2.2 高级配置(可选):将 MailHog 设为系统服务

为了让 MailHog 在服务器启动时自动运行并在后台持续工作,最好将其配置为系统服务。

以 Linux 系统为例:

  1. 创建一个服务配置文件:
复制代码
  1. sudo vim /etc/systemd/system/mailhog.service

  2. 将以下内容写入文件(请根据您的实际路径修改 ExecStart):

复制代码
  1. [Unit]

  2. Description=MailHog Email Catcher

  3. After=network.target

  4. [Service]

  5. Type=simple

  6. User=mailhog

  7. ExecStart=/home/MailHog_linux_amd64

  8. Restart=always

  9. RestartSec=5

  10. [Install]

  11. WantedBy=multi-user.target

  12. 保存后,启用并启动服务:

复制代码
  1. sudo systemctl daemon-reload
  2. sudo systemctl enable mailhog
  3. sudo systemctl start mailhog
  4. 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 中创建分析,生成满足特定条件的事件以触发通知机制,进而验证邮件通知功能是否正常。此文不再赘述。

相关推荐
2601_962341301 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
2503_931712482 小时前
10m/s超高速电梯:西奥XO-NEWIII如何树立行业速度标杆
java·大数据·数据库
@insist1232 小时前
系统规划与管理师-体系结构/接口/数据/软件定义全解析
大数据·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
新e选店长2 小时前
新e选烤火罩使用相关问题、购买相关问题、售后相关问题。
大数据·科技·物联网·材质·烤火罩
法雅特吉他2 小时前
国产吉他品牌技术发展与市场格局分析
大数据·经验分享·新媒体运营·学习方法·流量运营·材质·内容运营
我的温馨家园2 小时前
新手入局干细胞研究的五大认知陷阱
大数据·人工智能·精选
小羊Yveesss2 小时前
2026年外贸建站服务器怎么选?访问速度、稳定性和海外收录怎么判断
大数据·运维·服务器
ACP广源盛139246256732 小时前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件
海兰2 小时前
【AI编程思考:第八篇】从演示到生产:AI工程部署实战指南
大数据·人工智能·ai编程
2601_962851743 小时前
计算机毕业设计之基于YOLOV10的低光照目标检测算法研究与实现
大数据·算法·yolo·目标检测·信息可视化·cnn·课程设计