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.