avayabaniya/contact-mail

保存并发送联系邮箱

1.2.0 2020-12-07 21:37 UTC

README

使用 AJAX 和 Laravel 保存并发送 "联系我们" 邮箱

安装

您可以通过 composer 使用以下命令安装此包

composer require avayabaniya/contact-mail

该包将自动注册自身。

您必须将 contact-message.js 发布到项目中才能使用此包。您可以使用以下命令发布文件:

php artisan vendor:publish --provider="avayabaniya\ContactMailer\Providers\ContactMailerServiceProvider"

这将创建名为 contact-mailer.php 的配置文件,位于 config 目录中,以及位于 public/contact_mail/js 目录中的 contact-message.js 文件。同时,contact_form_example.blade.php 也发布在 views 目录中,可用于测试。

如何使用

发布文件后,您必须运行以下命令来运行迁移:

php artisan migrate

这将创建数据库中的 contact_messages 表,其中使用 ContactMessage eloquent 模型保存联系信息。此行为可以通过在包的配置文件中指定自定义模型来修改。

下一步是在 .env 文件中配置您的邮件驱动程序

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

现在您可以通过在 blade 模板文件中添加以下行来包含 js 文件

<script src="{{ asset('contact_mail/js/contact-message.js') }}"></script>

将表单的 method 属性设置为 POST,将 action 设置为 {{ route('send.contact.message') }}

您还必须将 contact form 的 id 设置为 contact-form,将 提交按钮 的 id 设置为 contact-submit

联系表单的输入字段应设置 name 属性为

  • name
  • email
  • number
  • subject
  • message

测试

您可以通过使用位于 contact_form_example.blade.php 的联系表单进行测试,其 URL 为 {{base_url}}/contact-form-example

使用以下命令运行测试

vendor/bin/phpunit

改进

欢迎通过拉取请求进行贡献。您也可以自由创建任何新问题。