Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Ses Event Manager

Laravel Ses Event Manager Laravel Package

akhan619/laravel-ses-event-manager

Laravel package for receiving and managing Amazon SES event notifications via SNS. It stores delivery, bounce, complaint, and other events, and helps maintain email suppression lists so your app can react to deliverability issues automatically.

View on GitHub
Deep Wiki
Context7

A Laravel package to manage incoming SES email events with http/s webhooks.

Frequently asked questions about Laravel Ses Event Manager
How do I install akhan619/laravel-ses-event-manager in a Laravel app?
Install it with Composer using composer require akhan619/laravel-ses-event-manager. Laravel's package auto-discovery should register the service provider, but you may need to add it manually in older setups. Publish the package config and any migrations, then point your AWS SNS topic subscription at the webhook route the package exposes. After installing, clear your config and route caches so the new route and settings are picked up.
Which Laravel and PHP versions does this package support?
The package is at v1.0.x, so it targets modern Laravel releases, but the exact constraint is declared in its composer.json. Always check that file (or the Packagist page) before installing rather than assuming compatibility. If you are on an older Laravel or PHP version, test in a branch first and confirm the service provider and route registration behave correctly.
Does the package verify AWS SNS message signatures?
Signature verification is a critical security control for any public SNS webhook endpoint, and you should confirm it is enabled in the package configuration before exposing the route. If the package does not verify signatures out of the box, add middleware or an application-level check using the SNS signing certificate flow. Never leave an unauthenticated endpoint that accepts arbitrary JSON and writes suppression data.
How is the SNS subscription confirmation handled?
SNS sends a SubscriptionConfirmation message with a SubscribeURL that must be visited before notifications are delivered. Most packages of this type handle that handshake automatically, but verify the behavior in your environment and check logs for the confirmation request. If it is not automatic, you will need to confirm the subscription manually or add a small handler for that message type.
What changed in v1.0.4 with eventType versus notificationType?
v1.0.4 is a patch release that adapts parsing to an AWS payload contract change where eventType was renamed to notificationType. This matters because a parser that only reads the new field will silently drop events if AWS or an older subscription still sends the legacy name. Test with captured payloads containing both field names and confirm whether the package accepts both or only notificationType before upgrading downstream consumers.
Does this package store SES bounces and complaints for a suppression list?
Yes, the package persists incoming SES events such as deliveries, bounces, and complaints, and it is intended to help maintain email suppression lists. Treat that stored data as an integration artifact and map it into your own domain model rather than querying package tables directly throughout your app. That keeps you free to swap or extend the package later without rewriting business logic.
Should I process SES webhooks synchronously or push them onto a queue?
Queue the work. The webhook endpoint should acknowledge SNS quickly with a 2xx and hand off parsing and suppression updates to a job, otherwise SNS retries and slow downstream calls can cause request timeouts and duplicate deliveries. Keep the request path stateless and idempotent, and monitor queue backlogs so retry storms do not cascade into ingestion failures.
Are duplicate SNS notifications handled idempotently?
SNS and SES can deliver the same notification more than once, so your handling needs to be idempotent. Check whether the package deduplicates using the SNS message ID or an event key, and if not, add your own guard before writing suppression entries or firing domain events. Unique constraints or an upsert on the message identifier is usually the simplest safeguard.
How can I test SES event handling locally without real AWS traffic?
Capture real SNS payloads from a sandbox topic and replay them against your local route with a feature test or an HTTP client, using both the legacy eventType and the newer notificationType shapes. If the package verifies signatures, disable or fake that verification in the test environment only. This gives you contract coverage for AWS schema changes before they reach production.
Do I need this package, or should I build SES event handling myself?
The package saves you the boilerplate of an SNS webhook route, payload parsing, and event storage, which is worthwhile if you want bounce and complaint handling quickly. Building it yourself gives full control over signature verification, normalization, and idempotency but costs more upfront effort. Either way, keep the integration behind your own domain events so the package stays a thin anti-corruption layer rather than a source of truth.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo