常用内置节点
Ch09 常用内置节点
n8n 内置了 400+ 节点,覆盖从数据库到文件系统、从邮件到加密的几乎所有基础操作。这些节点不需要任何外部依赖,开箱即用。本章重点讲解六类最常用的内置节点:Email(邮件发送)、MySQL/PostgreSQL(数据库操作)、Read/Write Binary File(文件读写)、FTP/SFTP(文件传输)、RSS Feed(订阅抓取)、Crypto(加解密),并在最后提供一张节点选型速查表帮助你快速做决策。
Email 节点:SMTP 邮件发送
n8n 的 Send Email 节点通过标准 SMTP 协议发送邮件,兼容 Gmail、Outlook、企业邮箱等所有支持 SMTP 的服务。配置分两步:先在 Credentials 中保存 SMTP 连接信息,再在节点中填写收件人和邮件内容。
凭证配置(SMTP)
在 n8n 的 Credentials 管理界面新建一个"SMTP"凭证,填写以下字段:
- Host:SMTP 服务器地址,如
smtp.gmail.com、smtp.exmail.qq.com - Port:通常为 465(SSL)或 587(TLS)
- User / Password:邮箱账号和授权码(Gmail 需使用"应用专用密码")
- SSL/TLS:端口 465 选 SSL,587 选 STARTTLS
节点参数
- To:收件人,支持逗号分隔多个地址,也支持表达式
{{ $json.email }} - Subject:邮件主题,可用表达式动态插值
- Text / HTML:纯文本或 HTML 格式正文,推荐用 HTML 实现排版
- Attachments:附件字段名,填写上游二进制数据的字段名(通常是
data)
批量发送邮件的正确姿势: 配合 Loop Over Items 节点,对收件人列表逐一发送个性化邮件。在 Subject 和 HTML 中使用
{{ $json.name }}等表达式插入每位收件人的专属信息,避免群发暴露所有收件人。
MySQL / PostgreSQL:数据库操作完全指南
n8n 分别提供独立的 MySQL 和 PostgreSQL 节点,接口设计高度一致,掌握其中一个即可触类旁通。两者均支持 SSL 连接,可直接对接云数据库(RDS、PlanetScale 等)。
四种操作模式
Execute Query(执行 SQL):直接写原生 SQL,最灵活。适合复杂查询、多表 JOIN、存储过程调用。查询中可嵌入 n8n 表达式:
-- Execute Query 模式示例:带参数的复杂查询
SELECT
o.id,
o.amount,
o.status,
u.name AS user_name,
u.email
FROM orders o
JOIN users u ON o.user_id = u.id
WHERE
o.created_at >= '{{ $json.startDate }}'
AND o.status = 'pending'
ORDER BY o.created_at DESC
LIMIT 100;
Insert(插入行):图形化填写字段名和值,n8n 自动生成 INSERT 语句。支持批量插入——上游若有多条数据项,节点会把所有记录一次性插入,效率远高于在 Loop 内逐条执行。
Update(更新行):指定 WHERE 条件字段(如 id)和需要更新的字段映射。
Delete(删除行):指定 WHERE 条件字段,执行后返回受影响的行数。
事务处理
对于需要原子性的多步操作(如"扣减库存 + 创建订单"),在 Execute Query 模式中手动编写 BEGIN、COMMIT、ROLLBACK 语句。
文件读写:Read / Write Binary File
n8n 把文件内容存储在数据项的"二进制字段"中(Binary Data),所有文件操作节点都围绕这个字段进行。
Read Binary File(读文件):指定服务器上的文件绝对路径,节点将文件内容读入二进制字段(默认字段名 data)。后续可以直接把这个字段作为邮件附件、HTTP 请求的 Body,或传给 Move Binary Data 节点进行格式转换。
Write Binary File(写文件):将上游二进制字段的内容写入服务器指定路径。常用于把 HTTP Request 下载的文件、LLM 生成的文本或数据库导出的 CSV 保存到磁盘,供后续脚本或定时任务使用。
路径权限: n8n 进程需要对目标目录有写权限。Docker 部署时,通过
volumes挂载宿主机目录到容器内,并确保目录权限为node用户可写(UID 1000)。
FTP / SFTP:文件上传下载
FTP 节点和 SFTP 节点在界面上完全一致,区别仅在于凭证类型(FTP 凭证 vs SFTP 凭证,后者支持密钥对认证)。支持的操作包括:
- Download:从远程服务器下载文件到 n8n 二进制字段
- Upload:将二进制字段内容上传到远程路径
- Delete:删除远程文件
- List:列出目录内容,返回文件名和元数据数组
- Rename:重命名或移动远程文件
常见应用场景:财务系统每日生成对账文件到 FTP,n8n 定时下载 → 解析 → 入库 → 发送邮件汇报;或者报表生成后自动上传到客户指定的 SFTP 目录。
RSS Feed:订阅内容自动抓取
RSS Feed Read 节点订阅一个或多个 RSS / Atom 源,返回最新条目列表。每个条目作为一个独立数据项输出,包含 title、link、pubDate、content 等标准字段。
// RSS Feed 节点输出的单条数据项结构
{
"title": "OpenAI 发布 GPT-5 技术报告",
"link": "https://openai.com/blog/gpt-5",
"pubDate": "2025-04-20T08:00:00.000Z",
"content": "<p>今日,OpenAI 正式发布...</p>",
"contentSnippet": "今日,OpenAI 正式发布...",
"guid": "https://openai.com/blog/gpt-5",
"isoDate": "2025-04-20T08:00:00.000Z"
}
典型工作流:Cron 触发器(每小时)→ RSS Feed(抓取行业资讯)→ IF(过滤关键词)→ HTTP Request(推送飞书群)。这是构建信息流监控机器人的标准范式,不需要任何爬虫代码。
Crypto 节点:数据加解密与哈希
Crypto 节点提供常见的密码学操作,无需引入任何外部库。
哈希(Hash):支持 MD5、SHA1、SHA224、SHA256、SHA384、SHA512、SHA3。输入字段内容,输出对应的十六进制哈希字符串。常用于生成文件校验码、对密码做不可逆摘要。
HMAC:输入密钥和数据,输出 HMAC 签名。钉钉机器人的加签安全模式、GitHub Webhook 的签名验证都用到 HMAC-SHA256。
AES 加解密:支持 AES-128/192/256,CBC/ECB 模式。在自动化流程中加密敏感字段(如身份证号、银行卡号)后落库,读取时解密还原,满足合规要求。
节点选型速查表
| 需求场景 | 推荐节点 | 备注 |
|---|---|---|
| 发送邮件(含附件) | Send Email | 需 SMTP 凭证;批量发送配合 Loop |
| 查询 / 写入关系型数据库 | MySQL 或 PostgreSQL | Execute Query 最灵活 |
| 读取本地文件 | Read Binary File | 需服务器文件读权限 |
| 生成并保存报告到磁盘 | Write Binary File | 注意目录写权限 |
| 从 FTP/SFTP 拉取数据文件 | FTP / SFTP | SFTP 支持私钥认证更安全 |
| 监控 RSS 资讯并推送 | RSS Feed Read | 配合 Cron 触发器 |
| 验证 Webhook 签名 | Crypto(HMAC-SHA256) | 配合 Code 节点完成完整验签逻辑 |
| 生成文件 MD5 校验码 | Crypto(Hash) | 处理文本字段;二进制文件需先转 base64 |