spatie/laravel-mailcoach-sdk
Laravel SDK for the Mailcoach API (self-hosted v6+ and Mailcoach Cloud). Manage email lists, subscribers and campaigns, create and send campaigns, send test emails, and easily iterate paginated API resources with next().
Pros:
EmailList, Subscriber, Campaign) align with Laravel’s Eloquent-like patterns, making the API intuitive for developers familiar with Laravel.fake() method for unit/integration testing, aligning with Laravel’s testing ecosystem (Pest/PHPUnit).Cons:
send()) is synchronous. For high-volume campaigns, this could block requests or require manual queue integration.Mailcoach facade)..env and published config file, adhering to Laravel’s 12-factor principles.campaign->send()).fake() method is basic; complex workflows (e.g., campaign scheduling) may need custom test doubles.send() calls could cause timeouts for large campaigns. Requires custom queue integration (e.g., Laravel Queues + dispatch()).send() calls impact user experience for high-volume campaigns? If so, how will async processing be implemented?fake() method be extended to cover edge cases (e.g., failed API requests, rate limits)?MAILCOACH_API_TOKEN) be secured (e.g., environment variables, secret management)?Mailcoach facade integrates seamlessly with Laravel’s facade system, enabling clean, expressive syntax (e.g., Mailcoach::campaigns()).CampaignSent, SubscriberUnsubscribed) for observability or side effects.campaign->send() in a job to offload sending to Laravel Queues (e.g., Redis, database).FormRequest) to validate input before creating subscribers/campaigns.composer require spatie/laravel-mailcoach-sdk.php artisan vendor:publish --tag="mailcoach-sdk-config"..env with MAILCOACH_API_TOKEN and MAILCOACH_API_ENDPOINT.Mailcoach::createCampaign()).SendCampaignJob) to wrap campaign->send() and dispatch it via Laravel Queues.Cache::remember()).Mailcoach::fake() in tests and extend with custom fakes if needed.Mailcoach::campaigns()) using Laravel’s logging.CampaignSentEvent).fake() for comprehensive test coverage.composer update or laravel-upgrade tools.Mailcoach::fake() to catch regressions.next() method efficiently to avoid memory issues with large datasets.How can I help you explore Laravel packages today?