SMTP and email
Configure outbound mail, dev-log mode, the selftest command, and deliverability tips.
Pulse sends mail for: password reset links, member invitations, subscriber confirmations, status-page update notifications, and the alert engine’s email channel.
Configuration
Section titled “Configuration”SMTP_HOST=smtp.postmarkapp.comSMTP_PORT=587SMTP_USER=your-usernameSMTP_PASS=your-password-or-api-keySMTP_FROM=alerts@yourdomain.comSMTP_STARTTLS=true # default true on 587SMTP_TLS=false # set true for implicit TLS on 465Leave SMTP_HOST blank to run in dev-log mode: every send is logged as a structured JSON line on the API container’s stdout with event=mail.dev_log. Useful for staging, never use in production.
Testing
Section titled “Testing”docker compose exec api /pulse/api selftest mail --to you@example.comThe selftest sends a single test message via the configured transport. Errors are printed inline.
Deliverability tips
Section titled “Deliverability tips”- Use a domain with SPF + DKIM + DMARC published. Most managed senders (Postmark, SES, Mailgun, Resend) do this in a few clicks.
- Don’t send from a personal address.
alerts@yourcompany.comreads as legitimate;noreply@gmail.comdoesn’t. - Pulse honours
Return-Path; make sure yourSMTP_FROMdomain accepts bounces.