Skip to content

feat(ses): implement real SES inbound receipt rule action execution#288

Merged
vieiralucas merged 1 commit intomainfrom
worktree-ses-inbound-actions
Apr 12, 2026
Merged

feat(ses): implement real SES inbound receipt rule action execution#288
vieiralucas merged 1 commit intomainfrom
worktree-ses-inbound-actions

Conversation

@vieiralucas
Copy link
Copy Markdown
Member

@vieiralucas vieiralucas commented Apr 12, 2026

Summary

  • The /_fakecloud/ses/inbound endpoint now actually executes receipt rule actions instead of just evaluating them
  • S3 actions: stores the email body as an object in the specified bucket with the configured key prefix
  • SNS actions: publishes an SES Received notification to the specified topic, with full fan-out to SQS/Lambda subscribers
  • Lambda actions: invokes the specified function with an SES event payload matching the real AWS format

Test plan

  • E2E test: S3 action stores object in bucket with correct key and content
  • E2E test: SNS action publishes notification that fans out to SQS subscriber
  • All 11 existing SES receipt rule tests still pass
  • cargo clippy -D warnings clean
  • CI green

Summary by cubic

Make /_fakecloud/ses/inbound execute SES receipt rule actions for real, enabling cross-service delivery. S3, SNS, and Lambda actions now run and mirror AWS behavior via the DeliveryBus.

  • New Features

    • Executes receipt rule actions in /_fakecloud/ses/inbound.
    • S3 actions: store email body in the target bucket with the key prefix and message ID.
    • SNS actions: publish a "Received" SES notification to the topic with fan-out to SQS/Lambda.
    • Lambda actions: invoke the target function with a real SES event payload.
    • Integrated with the existing DeliveryBus for SNS/SQS/Lambda wiring.
  • Dependencies

    • Add bytes, md-5, and uuid to fakecloud-server.

Written for commit 28e42a0. Summary will update on new commits.

The /_fakecloud/ses/inbound endpoint previously only evaluated receipt
rules and returned which actions would execute, without actually
executing them. Now it performs real cross-service delivery:

- S3 actions: stores the email body as an object in the specified bucket
  with the configured key prefix
- SNS actions: publishes an SES Received notification to the specified
  topic, with full fan-out to SQS/Lambda subscribers
- Lambda actions: invokes the specified function with an SES event
  payload matching the real AWS format

The handler is wired up with the DeliveryBus pattern used by all other
cross-service integrations (SNS→SQS, S3→EventBridge, etc.).

- Add bytes, md-5, uuid dependencies to fakecloud-server
- Wire S3 state and delivery bus into the inbound handler
- Add E2E tests verifying S3 object storage and SNS→SQS fan-out
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

@vieiralucas vieiralucas merged commit 675d450 into main Apr 12, 2026
22 checks passed
@vieiralucas vieiralucas deleted the worktree-ses-inbound-actions branch April 12, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant