n8n Email节点定时发送邮件设置:如何让系统在凌晨3点自动发送报告

2026-02-07 11 0

别再熬夜等凌晨3点了,让n8n替你打工

笔者在N8N大学的日常咨询中,最常听到的一句话就是:“我每天都要在凌晨3点给老板发日报,能不能自动化?”

说实话,这种需求非常典型。无论是运营数据、服务器监控报表,还是每日销售汇总,人工守在电脑前不仅痛苦,还容易出错。凌晨3点,人是会困的,但机器不会。

今天,我就手把手教你如何利用n8n的 Email 节点配合 Schedule Trigger(定时触发器),搭建一个“睡后”自动发送报告的系统。这不仅仅是一个技术教程,更是你告别手动加班的第一步。

准备工作:你需要这些“弹药”

在开始搭建之前,我们需要准备好以下硬性条件。别担心,门槛很低:

  1. 一个可用的n8n环境:可以是官方云服务,也可以是本地部署(推荐Docker)。
  2. 发件邮箱凭证:你需要一个支持SMTP的邮箱(如Gmail、QQ邮箱、企业邮箱等),并准备好对应的 SMTP服务器地址端口号
  3. 测试数据源:为了演示,你可以用 Google SheetsHTTP Request 节点获取数据。如果是本地文件,直接读取即可。

核心实操:搭建凌晨3点的自动发信机

整个流程分为三个核心步骤:触发、处理、发送。我们将把它们串联成一个完整的工作流。

第一步:设定“闹钟”——Schedule Trigger节点

这是整个工作流的起点,也是控制时间的关键。

  1. 在n8n画布中添加一个 Schedule Trigger 节点。
  2. 点击进入节点设置,在“Rule”下选择 Interval(间隔)。
  3. 关键设置: 在“Cron Expression”中输入 0 3 * * *。这串代码的意思是:每天凌晨3点0分触发。
  4. 如果你的n8n部署在海外服务器,务必检查时区设置。在“Time Zone”中搜索并选择 Asia/Shanghai(UTC+8),否则你可能会在奇怪的时间收到邮件。
笔者提示: 如果你不确定Cron表达式是否正确,可以使用 crontab.guru 这个网站进行验证。

第二步:准备邮件内容——数据处理节点

凌晨3点的邮件不能是空的。我们需要从数据源获取内容,并格式化成邮件正文。

假设我们有一个简单的数据源(比如一个Google Sheet表格),你需要添加 Google Sheets 节点并设置为“Read”操作。如果你的数据在本地,可以用 Read Binary FileSet 节点模拟。

接下来,为了美观和易读,建议使用 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节点配置

这是最后一步,也是最容易出错的一步。

  1. 添加 Email 节点(注意:n8n中有多个Email相关节点,通常推荐使用 Email (SMTP),因为它兼容性最好)。
  2. 凭证设置: 点击“New Credential”。
    • Host: 填入SMTP服务器地址(如 smtp.qq.com)。
    • Port: 通常为 465 (SSL) 或 587 (TLS)。
    • User: 你的邮箱账号(通常就是邮箱地址)。
    • Password: 注意,很多邮箱(如QQ、163)这里填的不是登录密码,而是 SMTP授权码
  3. 内容设置:
    • 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 FileGoogle Drive 节点使用。

总结与资源

通过 Schedule TriggerEmail (SMTP) 节点的组合,我们构建了一个无需人工干预的自动化系统。这不仅解决了凌晨3点的困扰,更为你处理周期性任务提供了一个通用的模板。

在N8N大学,我们坚信技术应该服务于生活。现在,你可以安心睡觉,让n8n替你守夜。

如果你在配置过程中遇到任何报错,欢迎在N8N大学社区发帖,笔者会第一时间为你解答。

相关文章

n8n Error Handling 节点报错太心烦?试试这些更灵活的替代方案
n8n 节点报错了?用 Error Handling 让它自动重试并通知你
n8n Wait节点在数据同步中的延迟控制实战
n8n Wait节点免费版:我能用它实现定时任务吗?
n8n Error Handling节点:当自动化流程“翻车”时,如何让它自动“扶起来”?
n8n Error Handling节点报错常见问题解决

发布评论