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 Webhooks Laravel Package

ankurk91/laravel-ses-webhooks

Laravel package for receiving and handling Amazon SES webhooks. It registers routes for bounce, complaint, and delivery notifications, dispatches events you can listen to, and lets you configure routes and middleware so your app can react to failed, rejected, or undelivered emails.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Deliverability and sender-reputation workflow (feature decision). AWS SES emits bounce, complaint, delivery-delay, reject, and open/click events through SNS to an HTTPS endpoint. This package supplies the Laravel-side plumbing — a route, notification handling, and dispatched events — so the team can build a feedback loop instead of polling or reading raw SNS payloads. This directly supports decisions about suppression lists, retry policies, and alerting for transactional email.
  • Protecting SES production access (risk/roadmap decision). Bounce and complaint rates above AWS thresholds can throttle or suspend sending. A working webhook consumer is a prerequisite for keeping the account healthy, which makes this a compliance-adjacent roadmap item rather than a nice-to-have.
  • Build vs. buy vs. borrow (architecture decision). The package is small glue code (MIT, ~25 stars, archived). The real decision is not "adopt or not" but "vendor/fork this, copy its patterns, or write ~200 lines in-house." It is a useful reference implementation for how SNS signature verification and event mapping should look.
  • Support and CX tooling (use case). Hard-bounce and complaint events are what feed "this address is undeliverable" states in account and notification settings, plus support-facing visibility into why a customer didn't receive an email.
  • Scope containment (prioritization). Because the package stops at event dispatch, it does not decide suppression semantics, retention, or multi-provider abstraction — those remain explicit product decisions the team must still make.

When to Consider This Package

Consider it when:

  • The product sends transactional or lifecycle email through AWS SES and runs on Laravel, and you currently have no programmatic visibility into bounces and complaints.
  • You need a fast reference or starting point — fork/vendor it, pin it, and own the code — rather than a long-lived dependency.
  • The scope is genuinely small: verify SNS messages, dispatch an event, hand off to your own suppression and alerting logic.
  • Your team is comfortable owning ~a few hundred lines of AWS-adjacent code and can absorb the maintenance.

Look elsewhere when:

  • "Archived" is disqualifying for your dependency policy. This is the default answer for most teams; treat the repo as documentation, not a dependency.
  • You need active maintenance, security patching, or framework-version guarantees (Laravel major upgrades, PHP version bumps).
  • You need breadth: multi-provider abstraction, open/click analytics at scale, template management, or a full deliverability suite.
  • You already use an ESP with built-in suppression and event retention (Postmark, SendGrid, Mailgun) — the package adds little.
  • You are not on Laravel/SES, or you can consume SES events via SNS → your own queue/EventBridge consumer with the AWS SDK.

Practical middle path: implement in-house using aws/aws-sdk-php for SNS signature validation, or a general webhook-receiving package with signature verification, and use this repo's event mapping as the spec.

How to Pitch It (Stakeholders)

For executives: This is a small, MIT-licensed Laravel component that lets our app receive AWS SES delivery events — bounces, complaints, delays — so we can stop emailing dead addresses and catch deliverability problems before AWS throttles or suspends our sending. The business value is risk reduction, not new features: a single bad list can degrade deliverability for every customer notification we send.

Cost and effort: Integration is roughly one to three engineering days. The license is free. The catch is that the project is archived and lightly adopted (~25 stars), so we should not depend on it as-is. Recommendation: vendor or fork the code under our own ownership, or rebuild the same behavior in-house against the AWS SDK — the logic is small, and the archived status makes external maintenance an unacceptable bet.

For engineering: Treat it as a reference implementation. Copy the SNS subscription confirmation and signature-verification handling, map bounce/complaint events into our own domain events, and wire them to suppression and alerting. Do not pull it in as an unpinned third-party dependency; we own the code and the tests from day one.

Ask: Approve a short, time-boxed spike to ship a self-owned SES event consumer, with suppression-list updates as the first measurable outcome.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource