artsites / handle-mail
一个 Laravel Nova 工具。
0.2.0
2021-12-09 14:44 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-07 18:33:19 UTC
README
Laravel Nova 工具,用于通过队列管理网站发送邮件
安装
composer require Artsites/handle-mail
在 NovaServiceProvider 中注册工具
public function tools()
{
new HandleMail
}
注册后发布默认文件
php artisan vendor:publish --provider="Artsites\HandleMail\ToolServiceProvider" --tag="default"
或者您可以通过标签发布文件
- job
- view
- script
- config
- migration
然后运行以下命令
php artisan queue:table
php artisan queue:failed-table
php artisan migrate
要求
更新 .env 文件
QUEUE_CONNECTION=database
用法
在 config/handle-mail.php
中输入电子邮件以从网站发送邮件
'email' => [
//
],
您可以跳过此步骤,并在项目中不使用 JS 文件进行异步请求
将发布的 handle-mail.js
文件包含到您的项目文件中,或者创建自己的文件以发送请求。将您自定义的表单类添加到 handle-mail.js
文件中,或者使用默认的 form
类。
<form class="form">
<input type="text" name="email">
...
请求路由 /handle-mail/send
。路由名称 handle-mail.send
如果您需要在发送邮件之前执行代码,可以更改路径并调用方法
namespace Artsites\HandleMail\Http\Controllers\User;
class HandleMailController
{
/**
* @param Request $request
* @param string $subject
* @param null $callback
* @return \Illuminate\Http\Response
*/
public function post(Request $request, string $subject = 'Request', $callback = null)
调度命令
$schedule->command('queue:work --stop-when-empty --queue=handle-mail')->everyFiveMinutes()
视图
发布默认文件后,您可以更改 resource/views/vendor/handle-mail/mail.blade.php
中的邮件模板
工具本地化
将以下行添加到您的 Nova 本地化文件中
"Name": "Name",
"Email": "Email",
"Status": "Status",
"status": "status",
"created_at": "created_at",
"Handle Mail": "Handle Mail",
"Failed": "Failed",
"New today": "New today",
"Per month": "Per month",
"The list is empty": "The list is empty",
"Mails": "Mails",
"Email deleted successfully": "Email deleted successfully",
"Error": "Error",
"Mail": "Mail",
"Failed mails": "Failed mails",
"Failed mail": "Failed mail"
"Resend all emails": "Resend all emails",
"Request": "Request",
"failed_at":"failed_at",
"exception":"exception",
"Send mail":"Send mail",
"Mail sent successfully": "Mail sent successfully",
"Delete email":"Delete email"
您可以添加更多本地化行,它们将自动更新邮件模板和工具页面中的键