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

Illuminate Mail Laravel Package

async-aws/illuminate-mail

Integrates AsyncAws with Laravel's Illuminate Mail, adding an SES mail transport so Laravel apps can send email through AWS using the lightweight AsyncAws client instead of the official AWS SDK. Simple mailer configuration with no heavy SDK dependency.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on the SES transport, not on email. Transactional mail is already a requirement; the only question this package touches is how we hand a message to Amazon SES. Laravel ships first-party ses/ses-v2 mailers on the official aws/aws-sdk-php; this package swaps that SDK for the lighter AsyncAws equivalent. Everything else — Mailables, notifications, queued mail, Mail::to() — is unchanged. That narrows the decision to a dependency-footprint trade, not a product capability.
  • Dependency weight as a real product constraint. If we run PHP on Lambda, in small containers, or with fleets of queue workers, "the full AWS SDK" is measurable: image size, cold-start time, memory per worker, and therefore unit cost at volume. If we run a conventional VM with warm workers, the saving is noise and the decision is already made for us — use what Laravel ships.
  • Provider portability is preserved either way. All of these sit behind Laravel's mail manager, so the choice is reversible via config plus, at most, one driver. This is not a lock-in decision, which is why it should not consume roadmap attention beyond a timeboxed spike.
  • The actual decision on the table is adopt / vendor / skip. The repository is archived, has a single star, and last shipped in August 2023. That removes "adopt as a trusted dependency" from the table: an archived repo is a code sample, not a supplier. But the surface is small — a mail transport is a handful of classes — so vendor (copy in, own it) is a credible third option that preserves the footprint benefit without the supply-chain exposure.
  • Roadmap signals this does not support. Mail reliability and deliverability — bounce and complaint handling via SNS, suppression lists, configuration sets for per-stream metrics, DKIM/SPF/DMARC, dedicated-IP warm-up, multi-provider failover — are the levers that move email quality. This package does none of them; it is a send-only adapter. If email reliability is on the roadmap, this package is not the roadmap item. Budget accordingly.
  • Use cases it genuinely fits: a lean SES send path for password resets, receipts, and notification mail; raw-MIME sends so attachments and rich Mailable output work; queued mail where worker memory is the binding constraint; teams already standardized on AWS IAM credentials who want to avoid SMTP secrets.

When to Consider This Package

Consider it only when all of the following hold:

  • SES is the committed provider — chosen for cost at volume, existing AWS footprint, or IAM-based auth instead of SMTP credentials. If the provider is still open, solve that first; the transport is downstream of it.
  • The footprint saving is measured, not assumed. Someone has a number: image MB, cold-start ms, worker MB, or dollars per month. Without that number, the first-party ses driver wins by default and the conversation ends.
  • You are adopting it as source, not as a dependency. Given the archive status, treat it as a fork/vendor candidate with a named internal owner and a documented patch cadence. If nobody will own it, do not take it on — even for free.
  • Requirements stop at "send." You need SendEmail/SendRawEmail and nothing more. If you need configuration sets, per-message tagging, event destinations, or per-tenant sending identities surfaced through config, expect to extend the transport yourself.
  • It stays behind a boundary we own. One adapter or one custom mailer registration; removal should be deleting a class, not chasing references through models and jobs.
  • The underlying AsyncAws SES SDK is verified healthy. The integration layer being archived does not automatically condemn the SDK beneath it — and the SDK being healthy does not rescue an unmaintained integration. Check both, separately.
  • You have read the source. At one star there is no ecosystem: no tutorials, no Stack Overflow coverage, no third-party answers. Your team is the documentation.

Look elsewhere when:

  • Laravel's built-in ses / ses-v2 mailers already work. This is the default answer and should be explicitly ruled out before anything else is discussed. First-party beats clever.
  • SMTP-to-SES is good enough. Pointing at email-smtp.<region>.amazonaws.com:587 needs no SDK at all. It trades IAM control for SMTP credentials and slightly different failure semantics, but it is the cheapest possible option and frequently the right one for low-to-moderate volume.
  • You need a supplier. No support contract, no security advisories, no LTS window, no disclosure process — an archived repository gives you a code dump and a closed issue tracker.
  • Deliverability, eventing, or compliance is in scope. Bounce/complaint processing, suppression, audit trails for regulated mail — all app-level work regardless of transport, and none of it is here.
  • The team cannot absorb a fork. If "we'll patch it ourselves" is aspirational rather than staffed, don't start.
  • Mail sits on a critical path you cannot afford to improvise on. Password resets and receipts are the classic "we found out at 2 a.m." surface. A broken transport is a user-facing P1, so the maintenance model matters more than the elegance.

How to Pitch It (Stakeholders)

For executives — one paragraph: We need transactional email — password resets, receipts, account alerts — and the decision in front of us is only how we connect to Amazon SES, not whether we send mail. A small community package offers a leaner SES connection than the official AWS SDK, which could matter if we run PHP in containers or Lambda and pay for memory and cold starts. The catch is decisive: the project is archived, has essentially no community, and hasn't shipped since August 2023, so nobody is maintaining it. That makes it a code sample rather than a supplier. My recommendation is to default to what Laravel ships — its built-in SES driver, or plain SMTP to SES, which needs no SDK at all — and only pursue the lean path if we can put an actual number on the footprint problem. If we can, we copy the small amount of code we need and own it, rather than adding an unmaintained repository to our dependency graph. Either way this is days of work, not a quarter, and it does not belong on the roadmap.

For engineering — the ask: Establish the baseline first: confirm Laravel's ses/ses-v2 mailers cover our needs and measure the official SDK's real cost in our deployment (image size, cold start, per-worker memory at our queue concurrency). If that number is small, we are done — use first-party. If it is material, verify that the underlying async-aws SES SDK is actively maintained even though this integration layer is archived, then assess the transport's actual surface: does it register a driver cleanly without touching framework internals, does raw MIME work for attachments and rich Mailables, does queued mail behave, and what does it do on SES throttling and partial-batch failures? Finally, scope the vendor option — how many files, how many dependencies, what does patching it cost per year, and who owns it. Deliver a recommendation of first-party, SMTP, vendor, or defer, with the footprint number attached as justification.

The line to hold with stakeholders: "We're not choosing between good and bad email — every option here sends mail through SES. We're choosing whether to take on an archived repository to save a few megabytes we haven't measured yet. Show me the number and I'll decide; without the number, we use what Laravel ships and move on."

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib