- Is mailjet/mailjet-bundle compatible with Laravel?
- No. mailjet/mailjet-bundle is a Symfony bundle that registers Symfony dependency injection services, a YAML configuration tree, and a Swift Mailer transport. Laravel does not consume Symfony bundles, and the package's service IDs and bundle registration do not transfer to Laravel's container or package discovery. Its Composer constraints are also likely to conflict with modern Laravel and illuminate/* versions.
- How do I install mailjet/mailjet-bundle?
- In a Symfony application you would install it with Composer, register the bundle in your kernel, and configure your Mailjet API key and secret in YAML. That workflow is Symfony-specific and is not the correct installation path for Laravel. For Laravel, use a Laravel-specific Mailjet package or wrap the official Mailjet PHP SDK in your own service provider.
- Which Laravel versions does this package support?
- None are officially supported. The last release was in June 2019, placing it in the PHP 7.x and Symfony 3–4 era, with a Swiftmailer-era transport and no declared support for PHP 8.2, PHP 8.3, Symfony 6, Symfony 7, or Laravel 9, 10, or 11. Running Composer against a modern Laravel application will very likely fail dependency resolution.
- Can I use the Mailjet transport with Laravel's Mail facade?
- Not directly. The bundle's mail transport is built around Swift Mailer, which is end-of-life, while Laravel 9 and later use Symfony Mailer behind the Mail facade. To keep Mail::to(...)->send(...) working, implement a Symfony Mailer transport or use a maintained Laravel Mailjet package instead of this bundle.
- What configuration does MailjetBundle require?
- The bundle expects Symfony bundle registration plus YAML configuration for the Mailjet API key and secret, after which it exposes configured client and transport services for injection. Laravel does not read that configuration tree, so the equivalent would be publishing values into config/services.php or config/mail.php and reading them from environment variables. The bundle's YAML contract does not map cleanly onto Laravel's configuration system.
- Does mailjet/mailjet-bundle support Mailjet templates and transactional sending?
- The bundle delegates to the Mailjet API v3 PHP SDK, so transactional sending and Mailjet template usage are available through the configured client service. However, the bundle mostly just wires that SDK into Symfony's container, which means you can get the same capability in Laravel by using mailjet/mailjet-apiv3-php directly. Webhook signature verification is not part of the bundle's advertised feature set and should be implemented in your application if needed.
- Is mailjet/mailjet-bundle still maintained?
- It appears stale. The last release date is 17 June 2019, the repository has around 33 stars and zero dependents, and there is no evidence of active issue triage or security response. The Mailjet API v3 endpoints themselves remain current, but the Symfony wrapper carries the compatibility and maintenance risk. Treat it as a reference implementation rather than a production dependency.
- What is the best Laravel alternative to mailjet/mailjet-bundle?
- The maintained Laravel-specific option is mailjet/laravel-mailjet, which is designed for Laravel's package discovery and Mail integration. Alternatively, bind mailjet/mailjet-apiv3-php as a configured singleton in a Laravel service provider and add a facade if you need convenient access. A thin SDK wrapper plus tests is typically a one-to-three engineer-day task.
- How should I test a Mailjet integration in Laravel?
- Test against a Mailjet sandbox account and mock outbound HTTP calls with Guzzle's mock handler so your test suite does not send real email. If you integrate through Laravel's Mail facade, use Mail::fake() to assert that mailables are queued or sent. Also cover failure paths such as API errors and queue retries, because the Symfony bundle itself provides no Laravel testing helpers.
- Will Composer dependency conflicts occur with Laravel 10 or 11?
- Very likely. The bundle dates from the PHP 7.x and Symfony 3–4 era and may pin older php, symfony/*, guzzlehttp/guzzle, or psr/* constraints that conflict with illuminate/* 10 or 11. Check its composer.json before attempting an install, and avoid forcing the bundle into a modern Laravel application. Use the Mailjet PHP SDK pinned to a Guzzle major version compatible with your Laravel stack instead.