Skip to main content

Email over SMTP

sol2flow sends email for invitations, password resets, email confirmations, sign-up approvals, security notices (for example "a passkey was added"), and notification digests. Every message has an HTML and a plain-text part and is written in the recipient's language.

note

Require email verification is on by default: new accounts, and people who change their email address, confirm the address with an emailed link. If your instance can't send email, turn it off in Admin → Authentication, or nobody can finish signing up. See Email verification.

Set up SMTP​

  1. Get SMTP credentials from your mail provider (or your own mail server). A dedicated sender address such as [email protected] works best.

  2. Add to .env:

    MAIL_DRIVER=smtp
    MAIL_FROM="sol2flow <[email protected]>"
    SMTP_HOST=smtp.example.com
    SMTP_PORT=587
    SMTP_PASSWORD=…
    SMTP_SECURE=false
  3. Apply it: docker compose up -d.

  4. Test it: on the sign-in page, choose Forgot password? for your own account and check that the email arrives.

PortSMTP_SECUREEncryption
587falseSTARTTLS (upgraded after connecting) — the usual choice
465trueTLS from the first byte
25falseserver-to-server; often blocked by hosting providers

Deliverability​

  • Send from a domain you control, and publish SPF, DKIM and DMARC records for it as your mail provider describes. Without them, invitations tend to land in spam.
  • MAIL_FROM must be an address your SMTP account may send as.
  • Links in emails use APP_URL, so make sure it is the public HTTPS address.

Delivery and retries​

Emails are queued and sent in the background, with retries when the SMTP server is unavailable. Nothing a user does waits for the mail server, and a failed email never undoes the change that triggered it. Failures are logged (see Troubleshooting).

Without SMTP​

With MAIL_DRIVER=log (the default) messages are not sent: their subject and text, including links, are written to the app log (docker compose logs app). That's fine for a first test, but people can't receive invitations or reset their password.

Notification emails​

Besides the emails that are always sent (invitations, password resets, security notices), people get digest emails about changes to their tasks. The instance-wide switch and schedule are in Admin → General; each person can opt out in their own settings. See Notifications.