Navicat邮件通知需手动在任务高级选项中启用并正确配置SMTP,否则即使备份成功也不会发信;常见失败原因包括端口与加密协议不匹配、未开启邮箱第三方服务、收发件人格式错误或变量大小写错误。
SMTP配置必须匹配客户端环境,不是填完就能发
navicat 发邮件不走系统默认邮箱,也不读 outlook 或 macos mail 的设置,它自己起一个轻量 smtp 客户端。填错任意一项——比如端口用 587 却没开 tls,或用 465 却关了 ssl——都会导致任务“显示成功”但邮件静默丢失,或者卡在“发送中”状态不动。
常见错误现象包括:
• 任务日志里只写“邮件已触发”,无后续成功/失败标记
• 测试邮件点“发送”后按钮变灰,几秒后恢复,但收件箱空空如也
• 邮箱服务商后台显示“未授权登录”,尤其是 QQ、163 等对第三方客户端限制严格的邮箱
实操建议:
• 优先用个人邮箱测试(QQ / 163 / Gmail),避免企业邮箱的复杂权限策略
• QQ 邮箱必须开启“SMTP服务”并生成“独立密码”,不能用账号登录密码
• SMTP 服务器填 smtp.qq.com,端口选 465,勾选 SSL(不是 TLS)
• Gmail 要开启“两步验证”再生成 App Password,服务器填 smtp.gmail.com,端口 465 + SSL 或 587 + TLS
• 填完务必点 测试 按钮,别跳过
“高级”选项里的关键开关容易被忽略
邮件通知不是在主界面直接打开的,必须进到具体任务的编辑页,点 高级 选项卡,再勾选 发送邮件 才会激活配置区。很多人卡在这一步:任务设好了、备份也跑了,但没进 高级 就以为“已启用邮件”。
这个区域还藏着几个影响成败的细节:
• 收件人地址 必须是完整邮箱格式(如 admin@example.com),多个用英文逗号分隔,不能换行或加空格
• 发件人地址 必须和 SMTP 登录账号一致,否则部分服务商拒信
• 邮件主题 和 正文模板 支持变量,例如 ${task_name}、${status}、${timestamp},但变量名大小写敏感,写成 ${Status} 就不生效
• 如果勾了 附加备份文件,注意文件大小限制——多数 SMTP 服务商单封邮件上限 25MB,超限会导致整个邮件发送失败(连通知都收不到)
任务计划与邮件通知是两个独立环节,缺一不可
很多用户以为只要配好 SMTP,定时备份就会自动带邮件。其实 Navicat 把“执行动作”和“通知动作”拆得很清楚:备份是 Batch Job,邮件是附加在该 Job 上的一个 Notification 行为。如果只建了备份任务,没在它的属性里启用邮件,那再准点运行也不会发信。
确认路径:
• 右键任务 → 编辑 → 切到 高级 选项卡 → 勾选 发送邮件
• 不是通过“文件 → 选项 → 通知”全局设置(那里只管 Navicat 自身事件,比如登录提醒)
• Windows 下若设了“不管用户是否登录都运行”,必须输入当前系统账户密码,否则 SMTP 认证阶段就失败(日志里可能只显示“连接被拒绝”,不提密码问题)
静默失败时,第一排查点是 Navicat 日志和邮箱服务商拦截记录
Navicat 不提供详细的 SMTP 调试日志,但会在主窗口右下角弹出提示(有时一闪而过),更可靠的是看 自动化日志:菜单栏 → 自动化 → 自动化日志,筛选对应任务名称,找含 mail 或 SMTP 的条目。
如果日志里只有 Starting mail notification... 没有后续,基本可断定是网络层或认证失败;如果有 Mail sent successfully 却收不到,则大概率是被收件方邮箱当垃圾邮件过滤了。此时要:
• 登录发件邮箱后台,查“已发送”里是否有这封信(有说明 Navicat 发出了)
• 登录收件邮箱,查“垃圾邮件”或“推广邮件”文件夹
• 检查发件域名是否配置了 SPF / DKIM 记录(个人邮箱测试阶段可暂不处理,但上生产前必须补)
真正麻烦的不是设不对,而是设对了却没反馈——SMTP 失败不报错、不重试、不写失败原因,只安静吞掉。所以每次改完参数,必须做一次完整流程验证:手动运行任务 → 看日志 → 查收件箱 → 查发件箱。











