跳到主要内容

AI 驱动文档

您想了解什么?

使用 Node-RED 发送电子邮件

本教程将向您展示如何使用 Node-RED 为您的 OV10i 相机设置自动电子邮件通知。您将学习如何配置 Gmail 集成,并创建用于直接向您的电子邮件发送检查警报、系统状态更新和故障通知的流程。

您将构建的内容: 一个使用 Gmail SMTP 将 OV10i 检查结果、警报和通知发送给指定收件人的自动电子邮件系统。

实际应用: 在检查失败时获取即时电子邮件警报、向管理层发送每日质量报告,或向维护团队通知系统问题 - 所有这些都能从您的视觉检查系统自动完成。

跳过手动设置

用简单的英语描述您所需的电子邮件通知,Auto-Integration Builder 将在几秒钟内为您生成一个完整的 Node-RED 流程。

先决条件

  • 具有 Node-RED 访问权限的 OV10i 相机
  • 用于发送电子邮件的 Gmail 帐户
  • 对 Node-RED 流程的基本理解
  • 对 Google 帐户安全设置的访问权限

教程概览

我们将构建的内容: 一个自动发送带有检查结果和系统警报的电子邮件通知的 Node-RED 流程。

所需时间: 20-30 分钟(包括 Gmail 设置)

习得的技能: Gmail 应用密码设置、SMTP 配置、自动电子邮件通知

第一步:设置 Gmail 应用密码

1.1 启用两步验证

  1. 登录您的 Google 帐户,访问 accounts.google.com
  2. 在左侧导航菜单中点击"安全"
  3. **找到"登录 Google"**部分
  4. 点击"两步验证"
  5. 如果尚未启用两步验证,请按照提示启用
备注

在创建应用密码之前,必须先启用两步验证。

1.2 生成应用密码

  1. 启用两步验证后返回安全页面
  2. 点击"应用密码"(在"登录 Google"下)
  3. 选择**"邮件"**作为应用类型
  4. 选择**"其他"**作为设备类型
  5. 输入名称,例如"OV10i Node-RED Email"
  6. 点击"生成"

1.3 保存您的应用密码

  1. 复制 Google 显示的 16 位字符密码
  2. 妥善保存 - 您将需要它来进行 Node-RED 配置
  3. 注意: 此密码只显示一次。如丢失,请生成新的密码

检查点: 您应该已保存一个 16 位字符的 Gmail 应用密码,以供 Node-RED 使用。

第二步:安装电子邮件节点(如需要)

2.1 检查电子邮件节点

  1. 在 OV10i 相机上打开 Node-RED
  2. 查看左侧面板中输出部分是否有"email"节点
  3. 如果缺失,您需要安装电子邮件软件包

2.2 安装电子邮件软件包(如需要)

  1. 点击 Node-RED 中的汉堡菜单(≡)
  2. 选择"Manage palette"
  3. 点击"Install"选项卡
  4. 搜索"node-red-node-email"
  5. 在软件包旁点击"Install"

第三步:创建基本电子邮件流程

3.1 添加所需节点

  1. 导航到 IO模块以访问 Node-RED
  2. 从面板中拖动以下节点到您的画布:
    • Inject 节点(用于测试)
    • Email 节点(来自输出部分)
  3. 将 inject 输出连接email 输入

3.2 基本流程结构

Inject → Email

流程用途: 用于测试和基本通知的简单邮件发送。

image.png

第 4 步:配置邮件内容

4.1 设置 Inject 节点

  1. 双击 inject 节点打开属性
  2. 设置 payload
    • Payload 类型:"string"
    • Payload 值:您的邮件正文文本(例如,"Inspection alert from OV10i")
  3. 添加邮件主题
    • 点击 "+ add" 添加属性

    • 属性名称:"topic"

    • 属性值:您的邮件主题(例如,"OV10i Inspection Alert")

      image.png

4.2 基本配置示例

Payload(邮件正文):

Inspection completed at Station 1
Status: Alert triggered
Time: Check timestamp for details

Topic(邮件主题):

OV10i Inspection Alert - Station 1

4.3 保存 Inject 配置

  1. 为节点命名,例如 "Email Trigger"
  2. 点击 "Done" 保存配置

第 5 步:配置邮件 SMTP 设置

5.1 设置邮件节点

  1. 双击邮件节点打开属性
  2. 配置基本设置
    • Name:"Send Alert Email"(或其他描述性名称)
    • To:收件人邮箱地址(例如,quality@company.com

5.2 配置 Gmail SMTP

  1. Serversmtp.gmail.com
  2. Port465
  3. 勾选 "Use secure connection"
  4. Auth typeBasic
  5. Userid:您的完整 Gmail 地址(例如,alerts@company.com
  6. Password:第 1 步中生成的 16 位应用专用密码

5.3 安全设置

  1. 勾选 "Check server certificate is valid"
  2. 核实所有设置均已正确输入
  3. 点击 "Done" 保存邮件节点配置

检查点: 您的邮件节点应无错误提示,并显示收件人地址。

image.png

第 6 步:测试您的邮件流程

6.1 部署并测试

  1. 点击右上角的 "Deploy" 按钮
  2. 等待 "Successfully deployed" 消息出现
  3. 点击 inject 节点按钮(左侧的灰色方块)

6.2 验证邮件送达

  1. 检查收件人邮箱中的测试消息
  2. 如果收件箱中未显示,检查垃圾邮件文件夹
  3. 在 Node-RED 调试面板中查看是否有错误消息

6.3 如需故障排除

常见问题:

  • 应用专用密码错误:重新生成 Gmail 应用专用密码
  • SMTP 设置:核实服务器和端口是否正确
  • 防火墙:确保允许出站 SMTP 流量

第 7 步:与检查结果集成

7.1 连接到检查流程

要根据检查结果发送邮件:

  1. 找到您的主检查流程(以 "All Block Outputs" 开始)
  2. 将邮件流程添加为检查处理的一个分支
  3. 连接在检查逻辑之后,但与最终结果并行

7.2 集成流程示例

All Block Outputs → [Inspection Logic] → Final Pass/Fail

Format Email → Send Email

image.png

7.3 动态邮件内容

将 inject 节点替换为 function 节点以实现动态内容:

// Dynamic email based on inspection results
const result = msg.payload.result ? "PASSED" : "FAILED";
const timestamp = new Date().toLocaleString();
const station = global.get("station_name") || "Unknown Station";

// Set email subject
msg.topic = `Inspection ${result} - ${station}`;

// Set email body
msg.payload = `Inspection Report:
Status: ${result}
Station: ${station}
Time: ${timestamp}
Image: ${msg.payload.image_url || "No image available"}

Please review and take appropriate action.`;

return msg;

第 8 步:完整流程示例

8.1 导入现成流程

您可以导入此完整的流程 JSON:

[
{
"id": "email_node_1",
"type": "e-mail",
"name": "Send Inspection Alert",
"server": "smtp.gmail.com",
"port": "465",
"secure": true,
"authtype": "BASIC",
"to": "quality@company.com"
},
{
"id": "format_email",
"type": "function",
"name": "Format Email Content",
"func": "const result = msg.payload.result ? 'PASSED' : 'FAILED';\nmsg.topic = `Inspection ${result}`;\nmsg.payload = `Status: ${result}\\nTime: ${new Date()}`;\nreturn msg;"
}
]

8.2 根据您的需求进行自定义

  1. 更新电子邮件地址 以适应您的组织
  2. 修改邮件内容 以满足您的特定需求
  3. 调整时间 和触发条件
  4. 充分测试,然后再进行生产部署

故障排除

常见问题

问题症状解决方案
身份验证失败出现"登录失败"错误确认应用密码正确,并已启用两步验证
连接超时未发送邮件,超时错误检查防火墙设置,验证 SMTP 服务器和端口
邮件进入垃圾箱邮件已送达但位于垃圾邮件文件夹将发件人加入安全名单,优化邮件内容
流程未触发没有调试输出检查流程连接和触发条件

调试您的电子邮件流程

  1. 在每个步骤后添加 debug 节点 以追踪数据
  2. 检查 Node-RED 日志 以获取详细错误消息
  3. 使用外部邮件客户端测试 SMTP 设置(如有需要)
  4. 验证网络连通性,确保相机可连接至 Gmail 服务器

成功!您的电子邮件集成已完成

您的 OV10i 相机现在可以:

发送自动化电子邮件通知 以通报检查结果

投递内容丰富、格式完整的消息,包含检查详情

支持多个收件人 和升级工作流

提供定时报告 和摘要

根据检查结果处理条件消息

最佳实践

邮件管理

  • 使用描述性主题,附带清晰的状态指示
  • 保持消息简洁 但信息完整
  • 包含时间戳 和工站标识符
  • 在通知中提供可操作的信息

安全性与可靠性

  • 保护应用密码 - 安全存储并定期轮换
  • 为系统通知使用专用邮箱账户
  • 定期测试邮件投递,确保可靠性
  • 监控投递失败情况,并准备备用通知方式

性能考虑

  • 限制邮件频率以避免被识别为垃圾邮件
  • 使用合适的收件人列表以针对不同类型的警报
  • 为大流量系统实施速率限制
  • 包含大型附件时考虑邮件大小

后续步骤

设置邮件通知后:

  1. 为不同类型的警报创建邮件模板
  2. 为不同的利益相关者设置分发列表
  3. 针对关键问题实施升级工作流
  4. 为管理层创建定时报告
  5. 与其他通知系统集成(SMS、Teams 等)
跳过手动设置

Integration Builder 可以根据简单的英文描述生成完整的邮件通知流程。描述您想要的功能(例如"发现缺陷时发送包含检查图像的邮件"),即可在数秒内获得生产就绪的 Node-RED 流程。

🔗 另请参阅