Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Contact

Laravel Contact Laravel Package

jeroennoten/laravel-contact

A Laravel package that adds contact form functionality to your application, letting visitors send messages to site administrators. Includes configurable routes, validation, and views so you can drop a working contact form into any Laravel project quickly.

View on GitHub
Deep Wiki
Context7

jeroennoten/laravel-contact is a lightweight package that adds a ready-to-use contact form backend to Laravel applications. It supplies the model, migrations, and validation needed to capture visitor inquiries, persist them in the database, and optionally notify you by email when a new message arrives.

Rather than rebuilding the same contact workflow for every project, you get a small, configurable foundation that fits into existing Laravel apps. Publish the configuration and migrations, wire up your form, and manage submissions through familiar Eloquent models.

  • Database-backed storage for contact submissions
  • Configurable email notifications
  • Publishable config and migrations
  • Built-in validation for incoming data
  • Eloquent model for querying messages
Frequently asked questions about Laravel Contact
How do I install jeroennoten/laravel-contact in a Laravel app?
Install it with Composer by running composer require jeroennoten/laravel-contact. Laravel's package auto-discovery registers the service provider, so no manual provider entry is normally needed. After that, publish the package's migration and any configuration files, then run php artisan migrate to create the contact requests table.
Does this package store contact form submissions in the database?
Yes. Laravel Contact is built around persisting incoming contact form submissions to your database. It ships a ready-made Eloquent model and matching migration, so you do not have to write the schema or model yourself. Once migrated, each submission is a normal database record you can query, list, and update.
Which Laravel versions are supported by jeroennoten/laravel-contact?
Version support is defined by the package's Composer constraints, so check the require section of its composer.json or the info panel on Packagist before installing. Confirm that the Laravel and PHP constraints match your application's version. If you are on an older Laravel release, test on a staging copy first or pin a package version that lists your framework version.
Do I still need to build my own contact form and controller?
Yes, the package focuses on the storage and management side of contact requests. You typically create the public form, add validation rules, and save the submitted data through the provided model or package API. That keeps your front-end markup and validation rules fully under your control while the package handles persistence.
Can I customize the contact requests table, model, or fields?
Because the migration is publishable, you can adjust the table structure before running it or add your own follow-up migrations. You can also extend the provided model to add relationships, accessors, scopes, or casts. Keep customizations in your application code where possible so future package updates stay straightforward.
How do I display and manage received contact messages in an admin panel?
Treat the package model like any other Eloquent model: query it in a controller, paginate the results, and pass them to a Blade view. From there you can add filters for unread or new requests, detail pages, and status updates such as replied or archived. No special API is required for basic listing and viewing.
Is jeroennoten/laravel-contact suitable for production use?
It is a lightweight database-backed solution, which is a good fit for most small and medium sites. For production, add server-side validation, rate limiting or throttling, and spam protection such as a honeypot or captcha on the public form. Also consider retention rules and access control so only authorized staff can read submitted messages. The package is a storage layer, so review these application-level concerns yourself.
How do I write tests for contact form submissions with this package?
Use Laravel's HTTP testing helpers to post to your contact route and then assert that the record exists, for example with assertDatabaseHas against the package table or a model count assertion. Wrap tests in RefreshDatabase so the published migration runs against a clean test database. You can also fake notifications if you add email alerts after a submission is stored.
Does the package send email notifications for new contact requests?
The package is described primarily as database storage for contact requests, with a model and migration for managing messages. Sending email or Slack alerts is not part of that described scope, so plan to trigger notifications from your own controller or via model events. Laravel's notification system works well for this and keeps delivery concerns separate from storage.
What are the alternatives to using jeroennoten/laravel-contact?
The main alternative is writing your own model, migration, and admin screen, which gives full control but takes more setup time. Larger CRM or helpdesk packages offer ticketing and multi-channel features but are heavier than most contact forms need. This package sits in between by providing a ready-made model and migration you can extend, making it a quick starting point for simple contact request handling.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections