Semestra

邮件

配置 SMTP 或 Resend 之前,验证码打印在日志里。

Semestra 用发到邮箱的一次性验证码登录(密码和 Google 登录是可选的)。SEMESTRA_EMAIL_BACKEND 决定邮件怎么发送。

方式行为
console默认。把每封邮件(包括验证码)打印到日志
smtp通过你的 SMTP 服务器发送
resend通过 Resend 发送。没有密钥时 API 不会启动
docker compose logs -f semestra   # console 模式:在这里找验证码

SMTP

.env
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=true

Resend

.env
SEMESTRA_EMAIL_BACKEND=resend
SEMESTRA_EMAIL_FROM=Semestra <no-reply@example.com>
SEMESTRA_RESEND_API_KEY=...

发件域名需要先在 Resend 里验证。SEMESTRA_EMAIL_REPLY_TO 可以为两种方式设置回复地址。

邮件能发出后,任何能访问实例的人都可以注册账户。单用户模式(SEMESTRA_SINGLE_USER,第一个账户之后关闭注册)已在规划中,但尚未实现;在那之前,如果公网实例只给自己用,请放在你自己的访问控制之后。

本页内容