otrigg/form-mailer

一个基于Laravel的简单API服务,用于处理来自静态网站的表单。

dev-master 2019-08-25 16:58 UTC

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文件。