别再熬夜等凌晨3点了,让n8n替你打工
笔者在N8N大学的日常咨询中,最常听到的一句话就是:“我每天都要在凌晨3点给老板发日报,能不能自动化?”
说实话,这种需求非常典型。无论是运营数据、服务器监控报表,还是每日销售汇总,人工守在电脑前不仅痛苦,还容易出错。凌晨3点,人是会困的,但机器不会。
今天,我就手把手教你如何利用n8n的 Email 节点配合 Schedule Trigger(定时触发器),搭建一个“睡后”自动发送报告的系统。这不仅仅是一个技术教程,更是你告别手动加班的第一步。
准备工作:你需要这些“弹药”
在开始搭建之前,我们需要准备好以下硬性条件。别担心,门槛很低:
- 一个可用的n8n环境:可以是官方云服务,也可以是本地部署(推荐Docker)。
- 发件邮箱凭证:你需要一个支持SMTP的邮箱(如Gmail、QQ邮箱、企业邮箱等),并准备好对应的 SMTP服务器地址 和 端口号。
- 测试数据源:为了演示,你可以用 Google Sheets 或 HTTP Request 节点获取数据。如果是本地文件,直接读取即可。
核心实操:搭建凌晨3点的自动发信机
整个流程分为三个核心步骤:触发、处理、发送。我们将把它们串联成一个完整的工作流。
第一步:设定“闹钟”——Schedule Trigger节点
这是整个工作流的起点,也是控制时间的关键。
- 在n8n画布中添加一个 Schedule Trigger 节点。
- 点击进入节点设置,在“Rule”下选择 Interval(间隔)。
- 关键设置: 在“Cron Expression”中输入
0 3 * * *。这串代码的意思是:每天凌晨3点0分触发。 - 如果你的n8n部署在海外服务器,务必检查时区设置。在“Time Zone”中搜索并选择
Asia/Shanghai(UTC+8),否则你可能会在奇怪的时间收到邮件。
第二步:准备邮件内容——数据处理节点
凌晨3点的邮件不能是空的。我们需要从数据源获取内容,并格式化成邮件正文。
假设我们有一个简单的数据源(比如一个Google Sheet表格),你需要添加 Google Sheets 节点并设置为“Read”操作。如果你的数据在本地,可以用 Read Binary File 或 Set 节点模拟。
接下来,为了美观和易读,建议使用 HTML 格式发送邮件。你可以使用 Set 节点或 Code 节点来构建HTML字符串。
例如,你可以构建一个简单的HTML表格来展示数据:
<html>
<body>
<h3>凌晨3点日报</h3>
<table border="1">
<tr><th>指标</th><th>数值</th></tr>
<tr><td>访问量</td><td>{{ $json.visits }}</td></tr>
</table>
</body>
</html>
第三步:发送邮件——Email节点配置
这是最后一步,也是最容易出错的一步。
- 添加 Email 节点(注意:n8n中有多个Email相关节点,通常推荐使用 Email (SMTP),因为它兼容性最好)。
- 凭证设置: 点击“New Credential”。
- Host: 填入SMTP服务器地址(如
smtp.qq.com)。 - Port: 通常为
465(SSL) 或587(TLS)。 - User: 你的邮箱账号(通常就是邮箱地址)。
- Password: 注意,很多邮箱(如QQ、163)这里填的不是登录密码,而是 SMTP授权码。
- Host: 填入SMTP服务器地址(如
- 内容设置:
- To: 收件人地址(支持多个,用逗号分隔)。
- Subject: 邮件标题,支持动态变量,例如
日报 {{ $now }}。 - Text/HTML: 将上一步构建的HTML内容填入这里。如果使用了变量,确保映射正确。
避坑指南:凌晨3点的“惊魂时刻”
在N8N大学的实战经验中,自动发送邮件最容易遇到以下两个坑,务必注意:
1. 时区错乱导致“提前”或“迟到”
很多同学在 Schedule Trigger 设置了3点,但服务器默认时区可能是UTC(伦敦时间)。这意味着你可能在北京时间上午11点收到邮件。
解决方案: 除了在节点里设置时区,更稳妥的做法是在Docker部署n8n时,通过环境变量 TZ=Asia/Shanghai 全局设置时区。
2. SMTP认证失败(535 Error)
这是新手最常遇到的报错。错误代码通常是 535 Error: Authentication failed。
原因分析: 90%的情况是因为你填的是邮箱的“登录密码”,而不是“SMTP授权码”。出于安全考虑,主流邮箱服务商(QQ、163、Gmail)都强制要求使用独立的授权码。
解决方案: 去你的邮箱设置里找到“POP3/SMTP服务”,生成一个新的授权码,填入n8n凭证的Password字段。如果是Gmail,可能还需要开启“两步验证”并生成“应用专用密码”。
FAQ:你可能还想问
Q1: 如果我想在工作日的凌晨3点发送,周末不发,怎么设置?
A: 在 Schedule Trigger 的 Cron 表达式中,你可以使用 0 3 * * 1-5。这里的 1-5 代表周一到周五(1=周一,5=周五)。
Q2: 邮件发送失败了,怎么排查?
A: 首先点击n8n节点的“Execution”查看详细日志。如果是网络问题,检查n8n服务器能否访问SMTP端口;如果是认证问题,参考上文的避坑指南检查授权码。
Q3: 可以添加附件吗(比如Excel报表)?
A: 可以。在 Email (SMTP) 节点中有“Attachments”字段。你需要先将文件转换为二进制数据(Base64),然后映射到该字段。这通常配合 Read Binary File 或 Google Drive 节点使用。
总结与资源
通过 Schedule Trigger 和 Email (SMTP) 节点的组合,我们构建了一个无需人工干预的自动化系统。这不仅解决了凌晨3点的困扰,更为你处理周期性任务提供了一个通用的模板。
在N8N大学,我们坚信技术应该服务于生活。现在,你可以安心睡觉,让n8n替你守夜。
如果你在配置过程中遇到任何报错,欢迎在N8N大学社区发帖,笔者会第一时间为你解答。