otrigg / form-mailer
一个基于Laravel的简单API服务,用于处理来自静态网站的表单。
Requires
- php: ^7.1.3
- anhskohbo/no-captcha: ^3.0
- laravel/framework: ^5.5
- laravel/tinker: ^1.0
This package is auto-updated.
Last update: 2024-09-26 05:18:36 UTC
README
一个基于Laravel的简单API服务,用于处理联系表单。也可以处理静态网站上的表单。
简介
当部署一个网站时,你通常需要在某个地方放置一个联系表单。如果你有一个静态网站,处理表单的解决方案很少:实现某种服务器端逻辑或支付外部服务。
如果你有一个基于Laravel的服务器,你可以依赖这个简单的API来处理多个网站上的联系表单。
此包在你的Laravel应用程序中创建了一个简单的入口点
https://yourapp.dev/api/send
用于发布所有联系表单。API将处理POST请求并将邮件发送到选定的地址。
功能
- 服务器端验证
- Google reCAPTCHA
包依赖
入门指南
先决条件
- PHP ^7.1.3
- Laravel ^5.5
安装
在Laravel应用程序的根目录中打开控制台窗口,使用composer安装此包
composer require otrigg/form-mailer
然后
composer install
如果你不能利用Laravel的自动发现功能,请在
Otrigg\Formmailer\Providers\FormmailerServiceProvider::class,
config/app.php中provider数组末尾添加
然后,将配置文件发布到Laravel的/config文件夹
php artisan vendor:publish
配置
添加密钥到.env文件
首先,将以下内容添加到应用程序的.env文件中
OTRIGG_FORMMAILER_MODE=strict
如果你只想授权某些网站上的表单,请添加密钥,否则请留空
OTRIGG_FORMMAILER_MODE=
自定义config/formmailer.php
然后,编辑已发布的config/formmailer.php以自定义API。
应用程序ID
插入可以使用API的授权应用程序ID列表。
使用随机生成的字母数字字符串,例如
'app_id' => [ 'th151sAr4nd0m5tr1ng', ],
编辑引用
插入表单托管的主机完整Web地址列表
'referrals' => [ 'http://mywebsite.com/myform.html', ],
如果你的服务器使用它,不要忘记在漂亮的URL末尾添加斜杠,例如
'referrals' => [ 'http://mywebsite.com/contacts/', ],
添加收件人
添加将发送表单的电子邮件地址列表
'recipients' => [ 'admin@example.com', 'info@commercial.com', ... ],
定义验证规则
根据您的表单字段自定义规则。编写与Laravel内置验证器兼容的规则:
'rules' => [ 'name' => 'required|max:255', 'email' => 'required|email|max:255', 'message' => 'required|max:1024', 'sender' => 'required|email|max:255', 'g-recaptcha-response' => 'required|captcha', ],
sender 指的是填写 From: 字段的电子邮件地址。默认情况下是 必需的。
警告:Google reCAPTCHA默认设置为 必需。
如果你想使用Google reCAPTCHA,别忘了生成Google reCAPTCHA公钥和私钥并将它们添加到Laravel应用程序的.env文件中
NOCAPTCHA_SITEKEY=google_recaptcha_public_key
NOCAPTCHA_SECRET=google_recaptcha_secret_key
作者
请参阅参与此项目的贡献者列表。
许可
本项目采用MIT许可协议 - 详细信息请参阅LICENSE文件。