在dify中通过webui配置邮件模板需添加“163smtp邮件发送”节点,用双大括号占位符{{subject}}、{{recipient_name}}、{{content}}绑定上游json字段,并手动映射变量,收件人填{{recipient_email}},保存后测试运行。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify中通过WebUI快速配置自定义邮件模板,需绕过手动修改.env或docker-compose文件的繁琐步骤,直接利用控制台提供的可视化节点参数编辑能力,将动态内容注入预设HTML结构中,避免因硬编码导致模板无法随业务逻辑实时更新。
进入工作流编辑界面并添加邮件发送节点
登录Dify控制台 → 点击左侧【应用】→ 选择已有工作流或新建一个 → 在画布空白处点击「+」号 → 搜索“163SMTP邮件发送” → 拖入画布。该节点默认使用系统级SMTP配置,无需重复填写服务器、端口等基础参数。
注意:若未安装插件,需先前往【插件市场】搜索“email”并安装“163SMTP邮件发送”,否则画布中不会出现该节点。
配置邮件模板的HTML结构与占位符
双击刚添加的邮件发送节点 → 切换到【模板】标签页 → 在“邮件正文”输入框中粘贴以下基础HTML结构:
```html{{subject}}
您好,{{recipient_name}}:
{{content}}
此邮件由Dify智能体自动发送,请勿直接回复。
这段HTML中使用了三个双大括号语法的变量:【{{subject}}、{{recipient_name}}、{{content}}】,它们将在运行时被上游节点输出的对应字段值替换。不能写成${}或%()等其他格式,否则渲染失败。
连接上游数据源并映射变量
第一步:在邮件节点前添加一个“文本生成”节点(或任意能输出JSON结构的节点),确保其输出包含以下字段:
第二步:点击邮件节点左上角的「连接点」→ 拖线至上游节点的输出端口 → 弹出映射面板后,将上游输出的subject字段拖到模板中{{subject}}位置,recipient_name拖到{{recipient_name}},content拖到{{content}}。
这一步必须手动完成字段绑定,Dify不会自动识别同名变量。如果跳过映射,邮件正文将原样显示{{subject}}等占位符,而非真实内容。
设置发件人与收件人参数
回到邮件节点的【配置】标签页 → “发件人邮箱”留空(自动使用.env中配置的MAIL_DEFAULT_SEND_FROM)→ “收件人邮箱”填入变量:【{{recipient_email}}】。
确保上游节点同时输出recipient_email字段,例如{"recipient_email": "zhangsan@example.com"}。这个字段不参与HTML模板渲染,只用于SMTP协议投递,填错会导致退信或发送至错误地址。
测试时可临时写死为一个测试邮箱,但上线前务必改为变量引用,否则所有邮件都会发给同一个地址。
保存并立即触发测试
点击右上角【保存】→ 点击【运行】按钮 → 在弹出的输入面板中,为recipient_email、recipient_name、subject、content四个字段填入测试值 → 点击【确认运行】。
等待几秒,查看目标邮箱是否收到格式正确、内容动态渲染的邮件。若收到纯文本或乱码,说明HTML中缺少或模板内混用了中文全角标点;若收件人为空,检查recipient_email字段是否拼写错误或未传入。











