邮件
配置 SMTP 或 Resend 之前,验证码打印在日志里。
Semestra 用发到邮箱的一次性验证码登录(密码和 Google 登录是可选的)。SEMESTRA_EMAIL_BACKEND 决定邮件怎么发送。
| 方式 | 行为 |
|---|---|
console | 默认。把每封邮件(包括验证码)打印到日志 |
smtp | 通过你的 SMTP 服务器发送 |
resend | 通过 Resend 发送。没有密钥时 API 不会启动 |
docker compose logs -f semestra # console 模式:在这里找验证码SMTP
SEMESTRA_EMAIL_BACKEND=smtp
SEMESTRA_EMAIL_FROM=Semestra <semestra@example.com>
SEMESTRA_SMTP_HOST=smtp.example.com
SEMESTRA_SMTP_PORT=587
SEMESTRA_SMTP_USERNAME=semestra@example.com
SEMESTRA_SMTP_PASSWORD=...
SEMESTRA_SMTP_STARTTLS=trueResend
SEMESTRA_EMAIL_BACKEND=resend
SEMESTRA_EMAIL_FROM=Semestra <no-reply@example.com>
SEMESTRA_RESEND_API_KEY=...发件域名需要先在 Resend 里验证。SEMESTRA_EMAIL_REPLY_TO 可以为两种方式设置回复地址。
邮件能发出后,任何能访问实例的人都可以注册账户。单用户模式(SEMESTRA_SINGLE_USER,第一个账户之后关闭注册)已在规划中,但尚未实现;在那之前,如果公网实例只给自己用,请放在你自己的访问控制之后。