定制 thtg88/laravel-contact-request 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

thtg88/laravel-contact-request

Composer 安装命令:

composer require thtg88/laravel-contact-request

包简介

A package to send a contact request email.

README 文档

README

Send an email from your contact form.

Table of Contents

Installation

composer require thtg88/laravel-contact-request

You can publish the configuration file and views by running:

php artisan vendor:publish --provider="Thtg88\ContactRequest\ContactRequestServiceProvider"

Usage

Laravel Contact Request exposes a route to send an email from given data.

Route

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"

Validation

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"

Captcha

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

Mail

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.

Deliver Later

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

Internal Recipient

You can customise the internal recipient by adding a variable to your .env file:

CONTACT_REQUEST_MAIL_INTERNAL_NOTIFICATION_ADDRESS=mail@example.com

Additional Options

You can also customise the following:

  • Email subject for internal recipient: CONTACT_REQUEST_MAIL_INTERNAL_SUBJECT="Contact Request Internal Subject"
  • Email subject for confirmation email (to the recipient specified in the request): CONTACT_REQUEST_MAIL_SUBJECT="Contact Request Receipt"
  • Signature of the email confirmation: 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'.

  • Main email HTML layout view name: CONTACT_REQUEST_MAIL_VIEWS_LAYOUT=layouts.email
  • Internal notification HTML view name: CONTACT_REQUEST_MAIL_VIEWS_REQUESTED_INTERNAL=emails.contact.internal
  • Internal notification plain view name: CONTACT_REQUEST_MAIL_VIEWS_REQUESTED_INTERNAL_PLAIN=emails.contact.internal_plain
  • Notification to recipient provided in request - HTML view name: CONTACT_REQUEST_MAIL_VIEWS_REQUESTED=emails.contact.requested
  • Notification to recipient provided in request - plain view name: CONTACT_REQUEST_MAIL_VIEWS_REQUESTED=emails.contact.requested_plain

More customisation options coming soon!

License

Laravel Contact Request is open-sourced software licensed under the MIT license.

Security Vulnerabilities

If you discover a security vulnerability within Laravel Contact Request, please send an e-mail to Marco Marassi at security@marco-marassi.com. All security vulnerabilities will be promptly addressed.

统计信息

  • 总下载量: 142
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-05-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固