Skip to content
Documentation

Email and SMS

Email sign-in

Each sign-in email includes a magic link and a six-digit code. Use the link in the browser that requested it, or enter the code in the requesting browser or mobile app. Both expire ten minutes after the request; using either consumes the challenge.

Administrators' membership decisions are also emailed to members with a verified email address. Open the app to see the current membership state.

Local inbox

Mailpit starts with Sail and captures local SMTP messages. Its inbox is available at http://localhost:8025. Laravel connects to mailpit:1025 inside the Compose network. Set MAIL_MAILER=smtp to route local messages there.

The root development command runs the queue worker. If only Sail is running, process queued mail with:

bin/sail artisan queue:work redis --queue=firehall

SMTP configuration

Configure your mail provider using MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM_ADDRESS, and MAIL_FROM_NAME. Use the provider's recommended TLS settings and keep credentials in the server's environment.

SMS configuration

SMS codes use Twilio Programmable Messaging. Configure:

TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_MESSAGING_SERVICE_SID=

Only verified contacts can be used for sign-in. An administrator changing a directory entry does not change that person's login credentials.

Browser and OS push notifications are not enabled in the default application.

Non-emergency communication only. Not for dispatch or emergency response.