A package to send a contact request email.
thtg88/laravel-contact-request is a Laravel package for a package to send a contact request email..
It currently has 0 GitHub stars and 142 downloads on Packagist (latest version v0.20.0).
Install it with composer require thtg88/laravel-contact-request.
Discover more Laravel packages by thtg88
or browse all Laravel packages to compare alternatives.
Last updated
Send an email from your contact form.
composer require thtg88/laravel-contact-request
You can publish the configuration file and views by running:
php artisan vendor:publish --provider="Thtg88\ContactRequest\ContactRequestServiceProvider"
Laravel Contact Request exposes a route to send an email from given data.
The route is available at POST /contact-requests.
You can customise the route by adding a prefix to the default one. This can be achieved by adding a CONTACT_REQUEST_ROUTE_PREFIX variable to your .env file, for example:
CONTACT_REQUEST_ROUTE_PREFIX="api/v1"
The data is validated by the SubmitContactRequestRequest class.
The validation rules are the following:
'email' => 'required|string|email|max:255',
'message' => 'required|string|max:4000',
'name' => 'required|string|max:255',
'phone' => 'required|string|max:255',
You can override those validation rules by publishing the Laravel Contact Request config file and applying yours:
php artisan vendor:publish --provider="Thtg88\ContactRequest\ContactRequestServiceProvider" --tag="contact-request-config"
Laravel Contact Request supports Google ReCaptcha V2. This must be sent in a variable called g_recaptcha_response or g-recaptcha-response in the request payload.
You can enable ReCaptcha V2 support by adding the following to your .env variable:
CONTACT_REQUEST_RECAPTCHA_MODE=true
NOCAPTCHA_SECRET=YourReCaptchaSecretKey
NOCAPTCHA_SITEKEY=YourRecaptchaSiteKey
Laravel Contact Request will send an email confirmation of the contact request to the email provided in the request, and one to an internal recipient of your choice.
Laravel Contact Request relies on the default Laravel mailer. Make sure you configure your email provider in your .env files. See the Laravel docs for guidance.
The validated data will be included in both emails.
Laravel Contact Request supports placing email delivery on a queue for immediate delivery.
To configure it, in your .env file, simply set:
CONTACT_REQUEST_MAIL_DELIVER_LATER=true
This will leverage the queue method of the Illuminate\Mail\Mailable class, together with the default configured queue driver.
For more information see the Laravel official docs
You can customise the internal recipient by adding a variable to your .env file:
CONTACT_REQUEST_MAIL_INTERNAL_NOTIFICATION_ADDRESS=mail@example.com
You can also customise the following:
CONTACT_REQUEST_MAIL_INTERNAL_SUBJECT="Contact Request Internal Subject"CONTACT_REQUEST_MAIL_SUBJECT="Contact Request Receipt"CONTACT_REQUEST_MAIL_SIGNATURE_NAME="John Doe"The mail views are a simple HTML, but you can customise those as well by specifying a view name that's available in your project, similarly to how you return views in controllers e.g. 'view.name'.
CONTACT_REQUEST_MAIL_VIEWS_LAYOUT=layouts.emailCONTACT_REQUEST_MAIL_VIEWS_REQUESTED_INTERNAL=emails.contact.internalCONTACT_REQUEST_MAIL_VIEWS_REQUESTED_INTERNAL_PLAIN=emails.contact.internal_plainCONTACT_REQUEST_MAIL_VIEWS_REQUESTED=emails.contact.requestedCONTACT_REQUEST_MAIL_VIEWS_REQUESTED=emails.contact.requested_plainMore customisation options coming soon!
Laravel Contact Request is open-sourced software licensed under the MIT license.
If you discover a security vulnerability within Laravel Contact Request, please send an e-mail to Marco Marassi at [email protected]. All security vulnerabilities will be promptly addressed.