grofgraf / laravel-contact-form
Laravel 联系表单
Requires
- guzzlehttp/guzzle: ^6.3
- illuminate/support: >=5.6.0
This package is auto-updated.
Last update: 2024-09-25 07:56:14 UTC
README
Laravel 的联系表单包。自动创建联系表单所需的路由、控制器、邮件模板和视图。可选择启用验证码验证和发送邮件附件。
要求
Laravel 5.5或更高版本- 配置您的邮件设置,确保服务器可以发送邮件。
- 如果您想启用人类验证,您需要通过 Google reCAPTCHA 注册一个站点并获取一对密钥。
安装
$ composer require grofgraf/laravel-contact-form
配置
首先将服务提供者添加到位于 config/app.php 的主配置文件中
'providers' => [ ... GrofGraf\LaravelContactForm\Providers\ContactServiceProvider::class ]
现在您可以导航到 /contact,您将看到一个默认的联系表单。
ReCaptcha
如果您想启用人类验证,您必须通过 Google reCAPTCHA 注册一个站点并获取一对密钥。
之后,您可以将这些密钥添加到您的 .env 文件中。
RECAPTCHA_SITEKEY=<your_site_key> RECAPTCHA_SECRET=<your_secret_key>
如果只定义了站点密钥,则客户端验证将在没有服务器验证的情况下执行
如果定义了两个密钥,则客户端和服务器端都会进行验证。
如果客户端密钥或两个密钥都未定义,则不执行验证,并且默认不显示 reCAPTCHA 小部件。
邮件附件
默认情况下,所有 MIME 类型都启用了邮件附件。您可以通过编辑配置文件来禁用或启用邮件附件,或更改允许的 MIME 类型。为此,您需要运行
$ php artisan vendor:publish --tag=config
在 config 目录中,将生成 contact.php 文件,您可以在此更改 attachment_mimetypes 的值。
要仅允许某些 MIME 类型,请将它们作为数组列出
... 'attachment_mimetypes' => ['application/pdf', 'text/*'], ...
通过将数组留空 'attachment_mimetypes' => [],将禁用附件,并且输入字段不会在邮件表中显示。
要允许所有 MIME 类型作为附件,请将值设置为 'attachment_mimetypes' => ['*']。
使用方法
覆盖配置
要覆盖配置文件,请运行 php artisan vendor:publish --tag=config 命令,这将创建 config/contact.php 文件。通过编辑此文件,您可以选择不同的配置选项,例如启用或禁用自动回复和人类验证,添加邮件的抄送地址,或选择附件 MIME 类型。
如果您不想发布配置文件,您可以通过在
.env文件中分配变量来覆盖一些选项。
覆盖视图
如果您想更改视图,您可以通过在项目的根目录中运行 php artisan vendor:publish --tag=views 来发布它们。
运行此命令后,将生成覆盖默认视图的文件,并将它们存储到 /resources/views/contact 目录中。现在您可以按需编辑它们,并使它们满足您的需求。默认情况下,可用于您的邮件模板的变量有
$name发件人姓名$email发件人电子邮件$subject邮件主题$content邮件内容
覆盖可投递邮件
通过运行 php artisan vendor:publish --tag=mail 命令,将在 app\Mail 目录中生成 Contact.php 和 Autoreply.php 文件。在这些文件中,您可以覆盖邮件逻辑。
覆盖控制器
通过运行 php artisan vendor:publish --tag=controllers 命令,将在 app/Http/Controllers 目录中生成 'ContactController.php' 文件。在这里,您可以覆盖控制器的逻辑。
覆盖路由
通过运行 php artisan vendor:publish --tag=routes 命令,将在 routes 目录下生成 contact.php 文件。在这个文件中,您可以覆盖已使用的路径或将它们分配给不同的控制器。
作者
许可证
MIT许可证(MIT)
版权所有(c)2017 GrofGraf
特此免费许可,任何人获取本软件及其相关文档副本(以下简称“软件”),可以无限制地使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、特定目的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,由软件本身、使用或与软件的使用或其他交易而产生。