No auth configured. Set HTTP_AUTH_USERNAME / HTTP_AUTH_PASSWORD to secure this instance.

Takes about 5 minutes. No AWS credentials shared with Sessy — you configure AWS to push events to your webhook URL. All events are cryptographically verified.

Assumes you've already set up SES.

1. Create a Configuration Set

A Configuration Set tracks what happens after emails are sent.

  1. Go to Amazon SES (correct region)
  2. Navigate to Configuration sets
  3. Click Create set
  4. Name: betalist-ses
  5. Leave defaults, click Create set

2. Create an SNS Topic

SNS forwards events to your webhook.

  1. Go to Amazon SNS
  2. Click TopicsCreate topic
  3. Select Standard (not FIFO)
  4. Name: betalist-ses-events
  5. Click Create topic

3. Subscribe the Webhook

Create an HTTPS subscription pointing to Sessy.

  1. From the SNS topic, click Create subscription
  2. Protocol: HTTPS
  3. Endpoint: https://sessy-blue.lowfoot.xyz/webhooks/34f79674-6ecb-4e9a-b2e3-ab6781efc2b7
  4. Leave filter policy empty
  5. Leave "Enable raw message delivery" unchecked
  6. Click Create subscription
  7. Confirmation is automatic

4. Add an Event Destination

Connect your Configuration Set to SNS.

  1. Go to SES → Configuration sets
  2. Click betalist-ses
  3. Event destinations tab → Add destination
  4. Select event types: Sends, Deliveries, Bounces, Complaints, Opens, Clicks, Delivery delays, Rejections
  5. Destination type: Amazon SNS
  6. Topic: betalist-ses-events
  7. Enable "Include original email headers"
  8. Click Add destination

5. Use the Configuration Set

Specify your Configuration Set when sending emails.

With aws-sdk-sesv2:

ses.send_email(
  from_email_address: "you@example.com",
  destination: { to_addresses: ["user@example.com"] },
  content: { ... },
  configuration_set_name: "betalist-ses"
)

With aws-actionmailer-ses:

Set globally:

class ApplicationMailer < ActionMailer::Base
  default "X-SES-CONFIGURATION-SET" => "betalist-ses"
end

Or per mailer:

class UserMailer < ApplicationMailer
  def welcome(user)
    headers["X-SES-CONFIGURATION-SET"] = "betalist-ses"
    mail(to: user.email, subject: "Welcome!")
  end
end

Verify it works

Send a test email with the Configuration Set. Events should appear in Activity within seconds.