Waline 使用 Gmail 发送邮件通知

注意
本文最后更新于 2022-04-01,文中内容可能已过时。

换成 Waline 了捏.

Waline 部署在 Vercel 上, Vercel 没有 LeanCloud 6h 的工作时间限制. 就想着要不把之前没完全解决的邮件问题给搞一搞吧.

waline.js 很贴心地给了邮件评论的配置文档, 只需要在 Vercel 的环境变量里添加这些东西就行了. 记得重新部署一下环境.

然后就到了 Gmail 的老问题了. 因为服务器是直接通过帐号密码登录 Gmail 的, Google 认为仅仅使用帐号密码非常不安全:

引用
为帮助确保您的帐号安全,从 2022 年 5 月 30 日起,Google 将不再支持那些会要求您仅使用用户名和密码登录 Google 帐号的第三方应用或设备。

之前的解决方案是 开启安全性较低的应用的访问权限, 但是 Google 会自动关闭它. 然后评论提醒就会变成 不安全的应用登录提醒 (四舍五入也是评论提醒了吧哈哈哈). 后来找到了一个好的方案, 设置 应用专用密码. 跟着 Answer 一步一步来咯. 也很简单, 就是先设置两步验证, 然后才能设置应用专用密码. 在 Vercel 的环境变量里, SMTP_PASS 就填刚才得到的 16 位密码即可. 测试一下, 是没问题的. 同时也可以给留下了邮箱的评论发送有人回复了的提醒.

嗷如果你没有成功, 那可能是 Gmail 没开 IMTP/SMTP 权限. 参考这个 Answer.