- How do I install this package for Laravel Mailcoach?
- First, ensure Mailcoach is installed (`composer require spatie/laravel-mailcoach`). Then add this package (`composer require spatie/laravel-mailcoach-sendinblue-setup`), publish its config (`php artisan vendor:publish --tag=mailcoach-sendinblue-config`), and set your `SENDINBLUE_API_KEY` and SMTP credentials in `.env`. Finally, configure the webhook URL in Sendinblue’s dashboard.
- Does this package support both SMTP and Sendinblue’s API for sending emails?
- Yes, it supports both SMTP and the Sendinblue Transactional Email API. However, the API is recommended for advanced tracking (e.g., open/click events) via webhooks, while SMTP lacks these features. Choose based on your tracking needs and cost considerations.
- What Laravel versions does this package support?
- This package requires Laravel 8+ and is compatible with Mailcoach’s supported versions (check Mailcoach’s docs for specifics). Always test against your target Laravel version, as dependencies may introduce constraints.
- How do I configure Sendinblue webhooks to sync opens/clicks with Mailcoach?
- Publish the package config and set the webhook URL in Sendinblue’s dashboard (e.g., `https://your-app.test/api/sendinblue/webhook`). The package listens for events like `campaign.sent` and processes feedback asynchronously via Laravel queues. Ensure your webhook endpoint is publicly accessible and handles POST requests securely.
- Will this package work if I’m already using Mailcoach’s built-in tracking?
- Yes, but clarify your use case: this package *extends* Mailcoach by adding Sendinblue-specific tracking (e.g., opens/clicks via webhooks). If you’re using Mailcoach’s native tracking, you may not need this package unless you specifically require Sendinblue’s API features. Avoid duplicate tracking by disabling overlapping features in Mailcoach’s config.
- What happens if Sendinblue’s API changes or goes down?
- The package relies on Sendinblue’s API for feedback processing. Monitor Sendinblue’s API docs for breaking changes and test upgrades in staging. For production, implement a fallback (e.g., switch to SMTP or another provider) by configuring Mailcoach’s `default_from` and `mailer` settings in `config/mail.php`. Consider rate limits and retry logic for webhook failures.
- Do I need to modify Mailcoach’s database schema for this package?
- No, this package doesn’t add new database tables. It uses Mailcoach’s existing schema (e.g., `campaigns`, `subscribers`) to store Sendinblue feedback data. Ensure your Mailcoach installation is up-to-date to avoid compatibility issues with future releases.
- How do I test webhook payloads from Sendinblue before going live?
- Use Sendinblue’s sandbox environment to simulate webhook events. Set up a local Laravel queue worker (`php artisan queue:work`) and log payloads to verify they’re processed correctly. Tools like Postman can also mimic webhook requests to test your endpoint’s response. Always validate payload signatures if Sendinblue supports them.
- Are there alternatives to this package for Sendinblue + Mailcoach integration?
- If you need Sendinblue-specific features, this is the official Spatie package. Alternatives include manually configuring Mailcoach to use Sendinblue’s SMTP or building a custom webhook listener, but these lack built-in feedback processing. For other providers, check Spatie’s ecosystem (e.g., `laravel-mailcoach-ses-feedback` for AWS SES).
- How do I handle duplicate or malformed webhook events from Sendinblue?
- The package includes basic validation, but for robustness, implement deduplication in your webhook endpoint (e.g., check event IDs against a `seen_events` table). Use Laravel’s queue system to retry failed processing. For malformed data, log errors and notify Sendinblue’s support if the issue persists. Consider a dead-letter queue for problematic payloads.