Email (SMTP)
BoardGameTracker can send emails for two features:
- Game-night invites — email an RSVP link to the players you invite to a game night.
- Password reset — let users request a password-reset link by email.
Email is enabled only when both SMTP_HOST and SMTP_FROM_ADDRESS are set. Until then Forgot password? is hidden on the login page and Email invites is disabled with the reason. Restart the container after changing any SMTP_* variable.
Both emails contain a link back to the app, built from the Public URL under Settings → General (or PUBLIC_URL). Set it as well: while it is empty, invitations are refused with a message and reset emails are skipped.
Configuration
Section titled “Configuration”| Configuration | Variable | Default | Info |
|---|---|---|---|
| SMTP host | SMTP_HOST |
Hostname of your SMTP server. Leave empty to keep email disabled. | |
| SMTP port | SMTP_PORT |
587 |
Port of your SMTP server. Port 465 always uses implicit TLS. |
| SMTP username | SMTP_USERNAME |
Username to authenticate with. Leave empty for a server that needs no authentication. | |
| SMTP password | SMTP_PASSWORD |
Password to authenticate with. | |
| Use TLS | SMTP_USE_SSL |
true |
Set to false for a server without TLS, such as a local mail catcher. |
| From address | SMTP_FROM_ADDRESS |
Address emails are sent from. Required to enable email. | |
| From name | SMTP_FROM_NAME |
(the from address) | Display name shown as the sender, for example BoardGameTracker. |
Ports and TLS
Section titled “Ports and TLS”For most providers, use port 587 with SMTP_USE_SSL=true (STARTTLS). Port 465 (SMTPS) always uses implicit TLS, whatever SMTP_USE_SSL says. For a local mail catcher such as Mailpit or smtp4dev, set SMTP_USE_SSL=false.
Example
Section titled “Example”SMTP_HOST=smtp.your-provider.comSMTP_PORT=587SMTP_USERNAME=your-userSMTP_PASSWORD=<your-smtp-password>SMTP_USE_SSL=trueSMTP_FROM_ADDRESS=noreply@your-domain.comSMTP_FROM_NAME=BoardGameTrackerWith the provided compose files a .env next to docker-compose.yml is forwarded to the container; with your own compose file put the variables under environment:.