Outbound email
What switches on when you configure a transport, what happens when you do not, and which transports are accepted.
Email is optional. A server with no transport configured is fully usable, it simply does not send anything.
What email enables
| With email | Without email |
|---|---|
| Forgot password sends a reset link | Password reset is not offered |
| Sign-up verification is sent | Accounts are usable without verification |
| Invitations are mailed to each address | Invitations are shared as a link you send yourself, or people join by code |
Configuring it
Set EMAIL_FROM plus exactly one transport.
SMTP_URLfor any SMTP server, assmtp://user:pass@host:587for STARTTLS orsmtps://user:pass@host:465for TLS.RESEND_API_KEYfor the HTTPS alternative, if outbound SMTP is blocked where you host.
EMAIL_TRANSPORT forces a choice rather than inferring it from the credentials present. Its log and memory values print or capture messages for development and are refused in production.
Set
BETTER_AUTH_URL to the URL people actually use before you turn email on. It is what every link in those messages is built from.This page is written from docs/DEPLOY.md in the repository. Those documents go further, and they are the ones that change first.
Read it on GitHubWas this page helpful?
