Skip to content

Add Amazon SES email provider (WASM module) #224

@jeroenrinzema

Description

@jeroenrinzema

Goal

Add a new ses provider so Lunogram can send email through Amazon SES, based on the same provider-level scope and expectations as #216.

Scope

  • Add Amazon SES support for the email channel (providers.ChannelEmail)
  • Define config requirements for credentials (at minimum AWS region, access key ID, and secret access key)
  • Implement send behavior mapping Lunogram email payload -> Amazon SES API request
  • Validate required configuration before send
  • (If feasible) add webhook handling for delivery/bounce/complaint events mapped to canonical provider webhook events

Provider expectations

  • Follow the current provider architecture and contracts used by Lunogram
  • Include provider metadata (id, title, icon/color, website, rate limit)
  • Use AWS Signature Version 4 signing for API requests
  • Keep error handling explicit and classify permanent vs transient failures where possible

Acceptance criteria

  • Provider appears in provider metadata/list endpoints with module id ses
  • Creating a provider with valid config succeeds
  • Email send works end-to-end for HTML/text payloads
  • Clear permanent/transient error classification is implemented
  • Tests added/updated for core send + validation behavior

Out of scope

  • SMS or push support
  • Advanced SES features (configuration sets, dedicated IP pools, template management, etc.) in first version

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions