EmailPro is a powerful FilamentPHP plugin designed to seamlessly synchronize and manage emails within your application.
With EmailPro, you can effortlessly integrate Gmail, view and organize emails, and perform essential email actions—all within the FilamentPHP admin panel.
Effortlessly connect your Gmail account to your FilamentPHP app and unlock seamless, in-app email management that just works—no context switching, no hassle
Turn your admin panel into a communication powerhouse with native Gmail integration that feels tailor-made for your team. View, organize, and search emails directly within the FilamentPHP admin panel.
Transform your FilamentPHP app into a full-featured Gmail client—sync, manage, and take action on emails without leaving your dashboard. Perform key email actions like reading, archiving, deleting, and labeling without leaving your panel.
💡 Email Pro leverages AnyStack for seamless payment processing, licensing, and distribution. You can buy it here
Add the following repository to your composer.json file:
"repositories": [ { "type": "composer", "url": "https://email-pro.composer.sh" }],
Then install the package:
composer require cvcwebsolutions/email-pro
You will be prompted to provide your username and password:
Username: [licensee-email]Password: [license-key]
Configure your Google OAuth credentials in .env:
GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRETGOOGLE_REDIRECT_URI="https://your_domain.com/mail/oauth/callback/google"
config/services.php
:'google' => [ 'client_id' => env('GOOGLE_CLIENT_ID'), 'client_secret' => env('GOOGLE_CLIENT_SECRET'), 'redirect' => env('GOOGLE_REDIRECT_URI'),],
Publish the config file:
php artisan vendor:publish --tag="email-pro-config"
Publish and run migrations:
php artisan vendor:publish --tag="email-pro-migrations"php artisan migrate
Optionally, publish the views:
php artisan vendor:publish --tag="email-pro-views"
Add the HasEmailProviders trait to the User model:
use Cvcwebsolutions\EmailPro\Support\Traits\HasEmailProviders;use Illuminate\Database\Eloquent\Model; YourUserModel extends Model { use HasEmailProviders;}
To use this package, register the plugin in your Filament Panel Provider class:
use Cvcwebsolutions\EmailPro\EmailProPlugin; // ...->plugins([ EmailProPlugin::make()]);
💡 To ensure smooth and efficient email operations, we highly recommend setting up a queue system. This helps handle API requests asynchronously, improving performance and user experience!
QUEUE_CONNECTION=databaseorQUEUE_CONNECTION=redis
Start the queue worker for development or testing environments using the following command:
php artisan queue:workorphp artisan queue:listen
It will generate a navigation menu item based on config('email-pro.filament.menu_item')
Clicking the menu will lead to the settings page:
How to Enable Gmail API and Create Google API Credentials
Open your browser and go to: https://console.cloud.google.com/. (I’m assuming that you’ve already created a Google account and are signed in. )
💡 Important Make sure to define your Authorized redirect URI correctly. This is the URL Google will redirect to after the user grants access. This must exactly match the redirect URI used in your application, otherwise authentication will fail. https://your-domain.com/mail/oauth/callback/google.
You now have:
— A Google Cloud project with Gmail API enabled
— OAuth 2.0 credentials ready to use in your app
Now we have Client ID and Client Secret, this credential we will use Installation section
Join our Discord community to connect with other developers, ask questions, and get support.
Explore more plugins like Email Pro on the FilamentPHP Plugin Directory.
Inbox Page
Settings Page
Detail Page
Setting Page
Stared Page
Sent Page
Draft Page