v2.8.1: SMTP email support
New
- SMTP email notifications. Besides Mailjet, the app can now send emails through any standard SMTP server. Set
EMAIL_PROVIDER=smtpto use it. Mailjet remains the default, so existing setups keep working with no changes. - Send a test email from the browser. Administrators can open Email Settings and use Send Test Email to check that delivery works. This replaces the old
test-emailcommand. - Secure SMTP password options. Use
SMTP_PASSWORD, orSMTP_PASSWORD_FILEto read the password from a Docker secret. Only one of the two can be set.
SMTP settings
| Variable | Description | Default |
|---|---|---|
EMAIL_PROVIDER
| mailjet or smtp
| mailjet
|
SYSTEM_EMAIL
| Sender address | |
SMTP_HOST
| SMTP server hostname | |
SMTP_PORT
| SMTP port | 587 (465 with ssl)
|
SMTP_SECURITY
| starttls, ssl or none
| starttls
|
SMTP_USERNAME
| SMTP login | |
SMTP_PASSWORD / SMTP_PASSWORD_FILE
| SMTP password or path to a password file |
Security
- TLS certificates and hostnames are always verified, and there is no option to bypass this.
- STARTTLS is required in
starttlsmode. - Logging in over an unencrypted connection (
none) is refused. - Error logs record only the error type, never passwords, recipients or message contents.
- Passwords are set through the environment only and are never saved to
settings.json.
Docker Compose
- The supplied
docker-compose.ymlnow requiresSECRET_KEY. Generate one with:
python -c 'import secrets; print(secrets.token_hex(32))'
and put it in your shell or a.envfile next to the compose file. Changing the key signs users out but does not delete accounts or gifts. - The compose file is now a documented template with SMTP and Mailjet options.
- Recreate the container after changing any environment variable:
docker compose up -d --force-recreate.
Notes
- Email is only sent when a bought gift idea is deleted, as before. There is no retry queue, and a failed email never blocks the deletion.
- Translated versions under
languages/are unchanged. - Images are available for
linux/amd64andlinux/arm64.
Documentation: see the Installation and Environment variables pages at gift.icbest.ca