Simple Contact Form
A lightweight, customizable contact form plugin for FilamentPHP that provides an easy-to-use alternative to Contact Form 7. Build and manage contact forms with a simple, intuitive interface directly from your Filament admin panel.
Author:
Solution Forest
Documentation
- Features
- Pro Version (Click me)
- Try Pro Version Now
- Installation
- Configuration
- Usage
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
- About Solution Forest
A lightweight, customizable contact form plugin for FilamentPHP that provides an easy-to-use alternative to Contact Form 7. Build and manage contact forms with a simple, intuitive interface directly from your Filament admin panel.
#Features
- 🚀 Easy Installation - Get up and running in minutes
- 📝 Basic Form Management - Create and manage contact forms
- 📧 Email Notifications - Receive form submissions via email
- 📱 Responsive Design - Mobile-friendly forms out of the box
#Pro Version (Click me)
- 📁 File Upload - Support for file attachments in forms
- 🪝 Form Hooks - Before/after submit hooks for custom logic
- ⚙️ Configuration Options - Adjustable settings for forms
- 💾 Submission Storage - Save and manage form submissions
#Try Pro Version Now
https://checkout.anystack.sh/simple-contact-form-pro
#Supported Filament versions
| Filament Version | Plugin Version |
|---|---|
| v3 | 0.0.6 |
| v4 | 2.0.2 |
#Installation
You can install the package via composer:
composer require solution-forest/simple-contact-form
For Filament v4, use the v2.0.1 version:
composer require solution-forest/simple-contact-form:^2.0.2
You can publish and run the migrations with:
php artisan vendor:publish --tag="simple-contact-form-migrations"
php artisan migrate
Register the plugin in your Panel provider:
use SolutionForest\SimpleContactForm\SimpleContactFormPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
SimpleContactFormPlugin::make(),
]);
}
Simple Contact Form provides a Filament form that can be used outside the Filament panel, but it requires Filament styles. There are several ways to set this up depending on your environment:
-
Filament v3 with Tailwind v3:
Follow the official Filament installation instructions: https://filamentphp.com/docs/3.x/forms/installation. -
Filament v3 with Tailwind v4:
Publish the built-in CSS assets with the following command:php artisan vendor:publish --tag="simple-contact-form-assets" -
Filament v4 (expects Tailwind v4):
Add the following to yourapp.cssor your stylesheet:@import '../../vendor/filament/filament/resources/css/theme.css'; @source '../../app/Filament/**/*'; @source '../../resources/views/filament/**/*';Then build your assets:
npm run build
#Configuration
You can customize the plugin's resources using the following options:
SimpleContactFormPlugin::make()
->modelLabel('Custom Contact Form') // Singular label for the model
->pluralModelLabel('Custom Contact Forms') // Plural label for the model
->navigationLabel('My Contact Forms') // Label in the navigation menu
->navigationIcon('heroicon-o-envelope') // Icon for navigation
->navigationGroup('Communication') // Group in the navigation
->navigationSort(100) // Sort order in navigation
->navigationParentItem(null) // Parent navigation item (if any)
->slug('contact') // Custom route slug
->shouldSkipAuth(false) // Require authentication
->shouldRegisterNavigation(true) // Show in navigation
->hasTitleCaseModelLabel(true); // Use title case for labels
#Customizing Translations
If you need to modify the translations, publish the language files:
php artisan vendor:publish --tag="simple-contact-form-lang"
This will copy the language files to your application's lang directory where you can edit them.
#Email Setting
For the plugin to send emails properly, ensure your Laravel mail configuration is set up correctly in your .env file:
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=your-email@example.com
MAIL_PASSWORD=your-email-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your-email@example.com
MAIL_FROM_NAME="${APP_NAME}"
#Usage
#Creating a Form
- Navigate to the "Contact Forms" section in your Filament admin panel
- Click "Create Form"
- Configure the basic form settings:
- Form Name
- Email Content
- Success Message
- Error Message
- Email Subject
- Add fields using the form builder:
- Text Input
- Email Input
- Textarea
- Select Dropdown
- Radio Buttons
- Checkboxes
#Displaying Forms
Use the Blade component with form id in your views:
<x-simple-contact-form :form="1" />
#Preview
#Common Issues
Emails not sending:
- Check your mail configuration in
.env - Verify SMTP credentials
- Check Laravel log files
- smtp doc
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
#About Solution Forest
Solution Forest Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.
We have built a collection of best-in-class products:
- InspireCMS: A full-featured Laravel CMS with everything you need out of the box. Build smarter, ship faster with our complete content management solution.
- Filaletter: Filaletter - Filament Newsletter Plugin
- Website CMS Management: A hands-on Filament CMS plugin for those who prefer more manual control over their website content management.
The author
From the same author
Email 2FA
This package seamlessly integrates two-factor authentication (2FA) into your application using email verification codes. Enhance the security of your user accounts and protect sensitive data.
Author:
Solution Forest
Tree
This plugin creates model management page with heritage tree structure view for Filament Admin. It could be used to create menu, etc.
Author:
Solution Forest
Access-Management
This is total different concept on handle role and permission. A RBAC permission control through spatie/laravel-permission.
Author:
Solution Forest
Inspire CMS
InspireCMS is a flexible, un-opinionated content engine for Laravel, built on Filament.
Author:
Solution Forest
