ahmedeid / filament-smtp-config
Filament package for managing SMTP settings in Laravel.
Requires
- php: ^8.1
- filament/filament: ^3.0
- filament/support: ^3.0
- spatie/laravel-package-tools: ^1.15.0
README
Introduction
The Filament SMTP Config library provides a flexible interface for managing SMTP settings within the Filament Admin Panel, allowing users to easily modify email settings without manually editing the .env
file.
Features
✅ Direct integration with the Filament Admin Panel.
✅ Save and manage SMTP settings in the database easily.
✅ Automatic Seeder execution upon library installation.
✅ Support for manually publishing settings via Artisan commands.
1️⃣ Installation
To install the library within a Laravel project, use the following command:
composer require ahmedeid/filament-smtp-config
After installation, run the migration to create the settings table:
php artisan migrate
Running Seeder Manually
If you'd like to insert the default settings manually, execute the following command:
php artisan db:seed --class="ahmedeid\\FilamentSmtpConfig\\Database\\Seeders\\MailSettingSeeder"
2️⃣ Usage
Modify your Filament Panel Configuration to include the plugin:
use ahmedeid\FilamentSmtpConfig\FilamentSmtpConfigPlugin; ... public function panel(Panel $panel): Panel { return $panel ... ->plugin( FilamentSmtpConfigPlugin::make() ) ... }
3️⃣ Publish Settings
To publish the SMTP settings, run the following command:
php artisan vendor:publish --tag=filament-smtp-config
This will copy the settings from the database to the .env
file, enabling you to easily modify SMTP settings within the Admin Panel.
4️⃣ Uninstalling the Library
To remove the library from the project, use the following command:
composer remove ahmedeid/filament-smtp-config
Then, roll back the settings table:
php artisan migrate:rollback --step=1
📌 Conclusion
Filament SMTP Config offers an easy and convenient way to manage email settings within Laravel + Filament, making it easier for developers to control the settings without manual edits to environmental files. 🚀