resend/resend-laravel
Provides Resend integration for Laravel and Symfony Mailer, including a Resend facade and a ready-to-use Laravel mail transport. Install via Composer, set RESEND_API_KEY, and send emails through Resend with minimal configuration.
MAIL_MAILER=resend and adding RESEND_API_KEY is the whole integration, so the PM decision is "which ESP do we pay for and trust with deliverability," not "how many sprints does it take to build mail infrastructure."Resend facade. That means one vendor can serve both rails, or transactional can ship now while marketing tooling stays a separate later decision.email.*, contact.*, domain.*, topic.*) can be received through a bundled controller/middleware with signature verification, engagement-driven features (bounce suppression, unsubscribe handling, "your email was opened/clicked" triggers, deliverability alerting) are days of work rather than a quarter. This directly unblocks notification-preference and re-engagement roadmap items.X-Resend-Email-ID on the SentMessage mean retry semantics and support triage ("did this receipt actually send, and can we dedupe it?") are addressable without custom plumbing.resend/resend-php, standard Laravel mailer interface. Exit cost is low, which strengthens negotiating position on pricing and gives a defensible "we can leave in a week" answer when procurement asks.Adopt when:
Mail/Mailable abstraction — no bespoke HTTP client, no custom queue integration.Look elsewhere or proceed cautiously when:
symfony/mailer SES or Mailgun transports.resend-php version bumps before 1.0; pin versions and read changelogs (the 0.21.0 inline_content_id → content_id rename is a good example of a silently breaking change).To executives: This is a low-cost, low-risk swap of our email vendor. It's an MIT-licensed, official integration maintained by Resend, installed with a single Composer command and configured with one environment variable — no new services, no migration project. It lets us consolidate transactional and lifecycle email under one vendor whose pricing and developer experience are competitive, and because it uses Laravel's standard mail interface, we can reverse the decision in days if pricing or deliverability disappoints. The measurable upside is faster shipping of notification and lifecycle features (webhook handling is already built) and fewer engineering hours spent on mail plumbing.
To engineering: It's a Symfony Mailer transport plus a Resend facade, so Mail/Mailable, queues, and existing mail templates keep working unchanged. We get signature-verified webhooks out of the box, attachments including inline and ICS, tags, and idempotency keys for safe retries — with the send ID surfaced on the sent message for tracing. The caveats are ours to manage: pin resend/resend-laravel and resend/resend-php, watch changelogs for breaking renames, keep provider-specific logic behind a thin internal interface so swapping to SES or Postmark remains a config change, and note the public ecosystem is small — we'll be reading source rather than blog posts when something breaks. Recommend a pilot on one non-critical mail flow for two weeks, then full cutover.
How can I help you explore Laravel packages today?