Skip to main content
web 服务从每个 Ayakaleaf Pro Pod 发送所有邮件(激活、项目邀请、密码重置)。这些设置与 Toolkit 中相同,参见邮件发送。

配置

1

ConfigMap

30-config.yaml (additions)
OVERLEAF_EMAIL_FROM_ADDRESS 用于开启邮件发送。请仅在同时设置了 SMTP 服务器(或 SES)时设置它:如果只设置发件人,Ayakaleaf Pro 会尝试使用 Pod 内的 SMTP 服务器,导致每封邮件都发送失败。如果不设置它,邮件不会被发送,而只会写入 web.log。OVERLEAF_EMAIL_SMTP_SECURE、OVERLEAF_EMAIL_SMTP_IGNORE_TLS 和 OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH 会按 JSON 读取,因此请使用 "true" 或 "false":诸如 yes 之类的值会使 Pod 的所有服务在启动时停止。
2

Secret

如果使用 Amazon SES API,请改为在此处放入 OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID 和 OVERLEAF_EMAIL_AWS_SES_SECRET_KEY,并将 OVERLEAF_EMAIL_DRIVER: ses 和 OVERLEAF_EMAIL_AWS_SES_REGION 放入 ConfigMap。
3

应用、重启并测试

在登录页面给自己发送一封密码重置邮件。如果没有收到,请检查 Pod 是否能访问 SMTP 服务器,并查看 web 日志:

多个副本

无需额外操作。每个副本都使用相同的设置发送邮件,发送速率限制在 Redis 中跨所有副本统计。如果你的 SMTP 服务器只接受已知的发件方,请放行 Pod 离开集群时使用的地址(通常是节点的地址)。

在 Kubernetes 上的测试

以 Mailpit 作为 SMTP 服务器,在 Kubernetes 1.37 上使用一个副本,我们发送邮件的端到端测试全部通过:管理员创建的账户的激活邮件、限定域名的自助注册的激活邮件、密码重置邮件、通知用户其账户已被删除的邮件,以及 SMTP 服务器拒绝激活或删除邮件时的行为:账户仍会被创建或删除,并且之后可以再次发送激活邮件。在设置了 OVERLEAF_EMAIL_FROM_ADDRESS 但没有 SMTP 主机时,密码重置请求因错误而失败,web.log 中显示 “error sending message”,与上文所述一致。
最后修改于 2026年11月2日