Skip to main content

Email

Slug: email
Provider: Symfony Mailer — works with any SMTP server, Amazon SES, Postmark, SendGrid, etc.
Inbound ACK: Yes — via inbound email webhook carrying a notification UUID


How it works​

PSAPLink sends an HTML notification email via the SMTP server configured in the MAILER_DSN environment variable. Each email contains the incident details and a per-delivery tracking ID. To acknowledge, your mail provider's inbound webhook must POST to POST /api/v1/inbound/email with a payload containing notification_id, delivery_id, or a UUID embedded in the email subject line. The endpoint extracts the UUID and resolves the acknowledgement.


Configuration schema​

FieldTypeRequiredDescription
from_addressstringYesValid email address used as the From: header. Must be authorized by your mail provider.
from_namestringNoDisplay name shown alongside from_address (e.g. "PSAPLink Alerts").
to_addressstringNoOverride the recipient address. Defaults to the user's registered email.

All fields are encrypted at rest; credentials are never returned in API responses.


Create a channel​

POST /api/v1/transport-channels
Authorization: Bearer <token>
Content-Type: application/json

{
"transport_type_slug": "email",
"name": "Operations Email Alerts",
"config": {
"from_address": "alerts@yourorg.gov",
"from_name": "PSAPLink Alerts"
}
}

Infrastructure requirement​

The MAILER_DSN environment variable must be set on the Cloud app to a working SMTP DSN:

# Production examples
MAILER_DSN=smtp://user:pass@smtp.yourorg.gov:587
MAILER_DSN=ses+smtp://ACCESS_KEY:SECRET@default
MAILER_DSN=postmark+api://TOKEN@default

Per-channel from_address / from_name override the identity within that single SMTP connection. Multiple email channels can share the same SMTP infrastructure with different sender identities.


Inbound ACK setup​

  1. Configure your mail provider to forward incoming replies to POST /api/v1/inbound/email.
  2. Ensure the original notification email includes the delivery_id somewhere the reply will carry back (PSAPLink embeds it in the email headers and body).
  3. Validate provider signatures if your mail provider supports them.

Test the channel​

POST /api/v1/transport-channels/{id}/test
Authorization: Bearer <token>

Sends a test email to the channel's configured address and returns a DeliveryResult.


Limitations​

  • No delivery receipt from SMTP — only the inbound ACK reply counts as confirmed delivery.
  • Spam filters may delay or drop notifications; configure your SPF/DKIM/DMARC records for the from_address domain.