wandi/mailer-bundle
A Laravel/PHP mailer bundle for configuring and sending email through your existing mail infrastructure. It offers a lightweight integration point for mailer setup and delivery in applications that need basic email support.
First, calibrate your expectations: this is a Symfony bundle, not a Laravel package. If you're working in a Laravel app, there is no service provider, no facade, and no config publishing workflow here — you would be running it inside a Symfony kernel (or a standalone Symfony Mailer setup), not artisan. Treat it as a Symfony component you happen to be evaluating from a Laravel seat.
Minimal steps:
src/ are your only reliable documentation. Open DependencyInjection/ first — the extension class tells you the exact config key (likely wandi_mailer), the available options, and which services get registered. That one file is worth more than any guess about the API.composer.json for the required PHP version, symfony/* constraints, and whether it pulls in symfony/mailer or swiftmailer. This determines your framework baseline and whether the bundle is even installable on your current Symfony LTS.composer require wandi/mailer-bundle, then register the bundle in config/bundles.php and drop a minimal config/packages/wandi_mailer.yaml.MAILER_DSN (or the bundle's transport config) to something observable — Mailpit/Mailtrap locally, not a real SMTP server — so you can verify delivery without spamming.The whole "getting started" phase here is really a feasibility spike: confirm the bundle installs, boots, and sends. Don't build architecture until that spike passes.
Assuming the bundle exposes a mailer service (verify the service ID in Resources/config/services.* or config/services.yaml inside the bundle):
App\Mail\Mailer). If the bundle is abandoned later, you rewrite one adapter class instead of grepping for $container->get(...)..env (MAILER_DSN and any bundle-specific env vars) and keep the YAML config environment-specific. Don't hardcode senders or hostnames in the bundle config — the sender address almost always differs per environment.config/packages/test/ (or use Symfony's MailerAssertionsTrait if the bundle delegates to symfony/mailer). Assert on the message your service produces, not on the bundle internals.Mail facade. Call the Symfony side over HTTP or a queue message, or just use Laravel's native Mail on that side. Forcing a Symfony bundle into Laravel's container is more work than it saves.composer.json.config/mailer-bundle.php. If your assessment brief is Laravel-flavored, the honest conclusion is: use Laravel's built-in Mail and skip this package entirely.wandi_mailer vs wandi_mailer_bundle or a service alias like wandi.mailer wastes an hour. php bin/console debug:container --show-private | grep -i mailer after registering the bundle confirms exactly what got wired.symfony/mailer (i.e., built on Swift Mailer), it won't understand MAILER_DSN and you'll need the legacy mailer_transport/mailer_host style config. This is the first thing to verify in composer.json.decorates: in services.yaml) to add logging, retry, or recipient allow-listing for non-prod environments.php bin/console debug:config wandi_mailer (adjust key) to see resolved config, and run with a Mailpit/symfony/mailer null:// transport to isolate whether failures are the bundle or the network.symfony/mailer, seriously consider using symfony/mailer directly and skipping the abstraction layer entirely.How can I help you explore Laravel packages today?