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.
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.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.Consider it only when all of the following hold:
ses driver wins by default and the conversation ends.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.Look elsewhere when:
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.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.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."
How can I help you explore Laravel packages today?