SendrinSendrin Docsv1.0 (Current)
Channels

Email & SMTP Transport

High-throughput transactional email delivery via Postal SMTP connection pooling and dynamic sender handles.

Sendrin provides dedicated transactional email delivery backed by a self-hosted Postal SMTP relay cluster with connection pooling and TLS encryption.

⚡ Integrate with AI

1. Default Shared Sender Handle

By default, every application receives a dedicated email address on the shared IITDeveloper domain:

{application_slug}@iitdeveloper.com

For example, an application named "Acme Billing" with slug acme-billing dispatches from:

"Acme Billing" <acme-billing@iitdeveloper.com>

To send from your own domain (e.g. billing.acme.com), see Custom Sending Domains & DKIM.

2. Dispatching an Email (POST /api/v1/notifications)

Sendrin utilizes template-driven events. Specify your registered event_key, the target email inside the recipient object, and variables matching your template schema in data. Always provide a unique Idempotency-Key header.

curl -X POST "https://api.gns.iitdeveloper.com/api/v1/notifications" \
-H "Authorization: Bearer gns_live_sk_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 1f8e21a0-4b39-4c28-98e1-58291df930b1" \
-d '{
  "event_key": "statement_ready",
  "channel": "email",
  "recipient": {
    "email": "customer@acme.com"
  },
  "data": {
    "customer_name": "Taylor",
    "invoice_number": "INV-4029",
    "statement_url": "https://acme.com/invoices/4029"
  }
}'

3. Asynchronous Acceptance (202 Accepted)

The endpoint responds with 202 Accepted indicating that the notification has been validated and persisted to the transactional outbox:

Response202 Accepted

4. Postal Connection Pooling & Delivery Lifecycle

Sendrin utilizes an asynchronous SMTP connection pool configured via environment variables:

  • Keep-Alive Pool: Reuses warm SMTP connections to eliminate TLS handshake latency.
  • Failover Queue: Transient relay errors trigger exponential backoff retries via Celery background tasks.
  • Strict TLS: Enforces STARTTLS encryption across all outbound relays.

Track email transmission states (queued → processing → delivered / failed) in the Sendrin Console activity feed or subscribe to Outbound Webhooks.

On this page