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
| Field | Type | Required | Description |
|---|---|---|---|
from_address | string | Yes | Valid email address used as the From: header. Must be authorized by your mail provider. |
from_name | string | No | Display name shown alongside from_address (e.g. "PSAPLink Alerts"). |
to_address | string | No | Override 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
- Configure your mail provider to forward incoming replies to
POST /api/v1/inbound/email. - Ensure the original notification email includes the
delivery_idsomewhere the reply will carry back (PSAPLink embeds it in the email headers and body). - 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_addressdomain.