Sessy / Docs

AWS SES setup for Sessy

End-to-end setup guide for connecting Amazon SES to Sessy. This is the page to share with teammates or tools that need the full context in one place.

1. Request production access

New SES accounts are in sandbox mode by default. Request production access before anything else.

  • Sandbox can only send to verified recipients.
  • Approval often takes 24-48 hours.
  • Some regions tend to approve faster than others. If blocked in one region, trying another can help.
  • You can still send globally after approval.

2. Verify your sending domain

  1. Create a domain identity in SES.
  2. Add the SES TXT verification record in DNS.
  3. Enable DKIM and publish the 3 DKIM CNAME records.
  4. Wait until SES shows verified status.

Recommended deliverability additions: SPF, DMARC, and a custom MAIL FROM domain.

3. Create a configuration set

In SES, create one configuration set per app/environment (for example myapp-production). Sessy uses this to ingest lifecycle events.

4. Create SNS topic and subscribe your Sessy webhook

  1. Create an SNS standard topic.
  2. Add an HTTPS subscription to your Sessy webhook URL.
  3. In the SES configuration set, add an event destination using that topic.
  4. Select the event types you want (typically all major event types).

Webhook format: https://your-sessy-domain.com/webhooks/<source-token>

5. Send with the configuration set name

Your sender must include the configuration set name for events to flow through SNS into Sessy. In Rails, this is usually configured via an SES header in your mailer.

6. Verify end-to-end

  1. Send a test email from your app.
  2. Open the source in Sessy.
  3. Confirm you see send + follow-up events (delivery, bounce, complaint, open, click).

If events are missing, first check the SNS subscription status and confirm the correct configuration set is used when sending.

Related guides