Email is optional. Without it, invites and password resets show a copyable link instead of sending one, and notifications go to push and webhooks only.
Set it in the setup wizard’s second step, in Settings → Organization, over MCP with configure_email, or with OPENFAULT_SMTP_URL.
SMTP settings
| Field | Meaning |
|---|---|
| Host | SMTP server, e.g. smtp.example.com. Leave it empty to turn email off. |
| Port | Empty means the default for the security mode: 587 for STARTTLS, 465 for TLS, 25 for none. |
| Security | STARTTLS connects in plain text and upgrades; the upgrade is required, so a server that does not offer it fails. TLS is TLS from the first byte (implicit TLS, usually port 465). None is for a local relay only. |
| Username, Password | SMTP credentials. The password is never shown again: leave it blank to keep it, type a new one to replace it. |
| From | Sender, e.g. OpenFault <noreply@example.com>. |
Amazon SES
Pick Amazon SES · <region> in the Preset menu. It fills in email-smtp.<region>.amazonaws.com, port 587 and STARTTLS. Regions: us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-west-1, eu-west-2, eu-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1.
Use the SMTP credentials you create in the SES console, not your AWS access keys. The From address must be a verified identity in that region.
Test email
Send test email saves the form, then sends “OpenFault test email” to you. It waits up to 10 seconds and shows the SMTP server’s error inline if the send fails. Over MCP, send_test_email does the same and takes an optional to.
Send log
Every send is logged, with the recipient’s domain only (*@example.com), never the full address. Settings → Organization lists the latest sends from the last 24 hours with their subject and any error. Older entries are purged.
Environment variable
OPENFAULT_SMTP_URL overrides the stored settings, and the form shows “set by environment”.
OPENFAULT_SMTP_URL="smtp://user:pass@smtp.example.com:587?from=OpenFault <noreply@example.com>"
smtp://uses STARTTLS, and it is required.smtps://uses implicit TLS (usually port 465).?from=is required.- The username and password sit inside a URL, so percent-encode any reserved character:
/as%2F,+as%2B,=as%3D,@as%40. SES passwords often contain/and+.
python3 -c 'import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=""))' 'your/smtp+password'
What sends email
| When | |
|---|---|
| Invite | An owner or admin invites someone. Without SMTP the invite link is shown to copy. |
| Password reset | Someone asks for a reset on the login page. Needs a base URL as well, so the link never comes from a request’s Host header. |
| Issue alerts | New issue, regression, unmute and spike, per each person’s preferences. See Notifications. |
| Test email | You press Send test email or call send_test_email. |