大家好,我是 N8N大学 的主编,指南针。

做自动化的兄弟姐妹们,肯定都遇到过这种让人抓狂的时刻:工作流跑通了,数据也抓到了,就差最后那封通知邮件死活发不出去。看着 n8n 界面上那个红色的报错提示,心里那叫一个急。
邮件发不出去,整个自动化流程就断了链,这事儿可大可小。今天,笔者就化身“邮件侦探”,带你从 SMTP 的底层配置开始,硬核拆解 n8n 发送邮件的常见坑点,保证让你看完之后,不仅能解决问题,还能看懂报错背后的逻辑。
第一步:搞懂 SMTP 发信的“硬通货”
很多新手一上来就直接填邮箱密码,结果发现 n8n 根本不认。其实,现在的邮箱服务商(比如 QQ 邮箱、163 邮箱、Gmail)为了安全,早就把“登录密码”和“发信密码”分开了。
在 n8n 里配置 Email Read IMAP 或者 Email Send 节点时,你必须准备以下四样“硬通货”:
- SMTP 服务器地址:比如
smtp.qq.com或smtp.gmail.com。 - 端口号 (Port):通常 SSL 是 465,TLS 是 587。这个填错直接连不上。
- 用户名:通常就是你的完整邮箱地址。
- 授权码/专用密码:这才是关键!去你的邮箱后台生成一个专门给 n8n 用的 16 位授权码,千万别用你的邮箱登录密码。
笔者提示:如果你是用 Gmail,别忘了去 Google Cloud 开一个 OAuth2 应用,单纯的“授权码”模式在 Gmail 上已经很难走通了,这是目前最大的坑之一。
第二步:n8n 节点参数填空实战
打开 n8n 的 Email Send 节点,我们来逐项击破:
- Credentials (凭证) :点击下方的“新建凭证”。这里一定要选对类型,比如 QQ 邮箱选
SMTP即可。 - Host / Port:把刚才查到的服务器和端口填进去。注意,如果 465 报错,尝试换成 587,并在下方勾选
Secure (SSL/TLS)选项。 - From Email (发件人):填你的邮箱,必须和凭证里的用户名一致。
- To Email (收件人):可以填死数据测试,也可以用
{{ $json.email }}这种表达式从上游节点动态获取。 - Subject (主题) & Text/HTML (正文):这里支持模板语法。比如你想在邮件里带上用户的名字,可以写:`你好,{{ $json.name }},你的订单已生成。`
填完后,先点一下“测试节点”,如果显示绿色对勾,说明配置没问题。如果还是红的,往下看。
第三步:常见报错代码“翻译”
当 n8n 弹出报错时,别只看 n8n 提示的“Could not send email”,要去点击那个红色感叹号,看具体的底层报错信息。以下是三个最常见的:
1. 535 Error: Authentication failed
翻译: 账号或密码不对。
排查: 90% 的情况是你填错了“授权码”,或者是用户名没写全(比如只写了 zhangsan,没写 zhangsan@qq.com)。极少数情况是你的 IP 被邮箱服务商拉黑了。
2. Connection timed out
翻译: n8n 服务器根本连不上邮箱的服务器。
排查: 如果你是在本地 Docker 跑的 n8n,检查一下防火墙是否拦截了 465/587 端口。如果你是云服务器,检查云服务商的安全组规则。另外,国内网络访问 Gmail 或 Outlook 经常会有波动,这属于物理层面的无奈。
3. self-signed certificate in certificate chain
翻译: SSL 证书验证失败。
排查: 这通常出现在自建的邮件服务器或者某些不规范的云邮上。在 n8n 的凭证设置里,找到 Ignore SSL Issues (忽略 SSL 问题) 并勾选它。这能解决大部分证书报错,但记住,仅限测试环境或信任的内网环境使用。
第四步:终极排查清单
如果上面都试过了还是不行,笔者建议你按顺序执行以下“急救措施”:
- 更换发件箱:把你正在用的邮箱(比如企业邮)换成个人的 QQ 或 163 测试。如果个人的能发,说明是企业邮的管理员策略封禁了 n8n。
- 检查 n8n 日志:如果你是 Docker 部署的,使用
docker logs -f [容器ID]查看实时日志。n8n 的前端报错往往被简化了,后端日志里会有完整的 Node.js 栈溢出信息或网络握手细节。 - IP 白名单:如果你的 n8n 部署在固定 IP 的服务器上,去邮箱后台把服务器 IP 加入“安全登录白名单”,避免触发异地登录风控。
FAQ 问答
Q1: 我可以用 QQ 邮箱发送,但用 Gmail 就失败,为什么?
A: 因为 Gmail 目前基本关闭了“密码+授权码”的传统 SMTP 登录方式,强制要求使用 OAuth2 认证。在 n8n 中配置 Gmail 需要创建 Google Cloud 项目并配置 OAuth Client ID,流程比较繁琐。建议新手先用 QQ 或 163 邮箱练手。
Q2: 为什么我在 n8n 里测试能发,放入工作流自动运行就报错?
A: 检查你的工作流触发器。如果是 Webhook 触发,确保数据格式正确。另外,检查是否启用了 Wait 节点导致超时。最常见的情况是:测试时用的是管理员账号的凭证,自动运行时工作流所属的权限不足,导致凭证读取失败。
Q3: n8n 支持发送带附件的邮件吗?
A: 支持。在 Email Send 节点中,有一个 Attachments (二进制数据) 选项。你需要确保上游节点(如 Read Binary File 或 HTTP Request)输出了二进制数据流,并在该选项中填入对应的字段引用(如 {{ $json.data }})。
总结与资源
配置 n8n 的邮件发送功能,核心在于理解“授权码”机制和端口安全协议。很多时候报错不是 n8n 的锅,而是邮箱服务商的安全策略在作祟。
建议大家在调试阶段,先用最基础的 SMTP 经典配置(如 QQ 邮箱)打通流程,确认逻辑无误后,再根据实际业务需求升级到企业邮或 OAuth2 方案。
如果你在配置过程中遇到了具体的报错截图,欢迎在 N8N大学 的社区留言,笔者会第一时间帮你分析。