ahsanrazib / laravel-mailchimp
A Laravel wrapper for the Mailchimp API with support for lists, tags, unsubscribe, and campaign reports.
dev-master
2025-08-02 08:46 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2025-08-02 08:46:26 UTC
README
A simple Laravel 10–12+ compatible package to integrate with the Mailchimp API for email list management, tagging, unsubscribing, and campaign reporting.
✨ Features
- ✅ Connect to Mailchimp API
- 📥 Subscribe users to mailing lists
- 🏷️ Add tags to subscribers
- 🚫 Unsubscribe users
- 📊 Retrieve campaign reports
- 📄 Custom subscription form view
- 🔧 Laravel config publishing support
🛠 Requirements
- PHP ^8.2
- Laravel ^10.0|^11.0|^12.0
- Guzzle 7+
🚀 Installation
Step 1: Require the Package
composer require yourname/laravel-mailchimp
Step 2: Publish the Config
php artisan vendor:publish --provider="MailchimpSubscribe\MailchimpServiceProvider"
Step 3: Set ENV Variables
MAILCHIMP_API_KEY=your-mailchimp-api-key
MAILCHIMP_SERVER_PREFIX=usX
MAILCHIMP_LIST_ID=xxxxxxxxxx
📦 Usage
Subscribe a user
use MailchimpSubscribe\Facades\MailchimpSubscribe; MailchimpSubscribe::subscribe('user@example.com', ['FNAME' => 'John']);
Add Tags
MailchimpSubscribe::addTags('user@example.com', ['VIP', 'Newsletter']);
Unsubscribe
MailchimpSubscribe::unsubscribe('user@example.com');
Get Lists
$lists = MailchimpSubscribe::getLists();
Get Campaign Reports
$reports = MailchimpSubscribe::getCampaignReports(); $report = MailchimpSubscribe::getCampaignReportById('abc123');
📥 Subscription Form
Visit /subscribe
for the basic subscription form included.
🔧 Configuration
Config file: config/mailchimp.php
You can customize your API key, server prefix, and list ID here.
📂 File Structure
src/
- Service Provider, Manager, Facaderesources/views/
- Subscription Blade formroutes/web.php
- Form routesconfig/mailchimp.php
- Config file
🤝 License
MIT © [Ahsan Razib]