gwdhost / nova-mail-testing
一个 Laravel Nova 邮件测试工具。
0.1.4
2020-08-11 20:35 UTC
Requires
- php: >=7.1.0
README
此工具将显示包含正确数据的邮件模板,您可以进行设置。您需要做的只是设置配置文件,然后所有事情都将自动处理。
要安装,您可以运行以下命令
composer require gwdhost/nova-mail-testing
// And afterwards
php artisan vendor:publish --provider="Gwdhost\MailTesting\ToolServiceProvider"
然后将以下内容添加到 NovaServiceProvider
的 tools()
方法数组中
return [ new \Gwdhost\MailTesting\MailTesting() ];
这里您可以看到一个邮件测试配置文件的示例。
return [ 'mails' => [ [ 'label' => 'Welcome mail', 'class' => \App\Mail\WelcomeMail::class, 'args' => [ \App\Nova\User::class, [ 'type' => 'text', 'label' => 'Textfield', 'placeholder' => 'Placeholder' ], [ 'type' => 'textarea', 'label' => 'Textarea', 'placeholder' => 'Placeholder' ], [ 'type' => 'select', 'label' => 'Select', 'options' => [ 'a' => 'Answer A', 'b' => 'Answer B', 'c' => 'Answer C', ] ], ] ], ] ];
您可以使用 Nova 资源或自定义字段,如 text
、textarea
或 select
。这些字段将作为参数添加到您的邮件中。
所以如果您需要一个欢迎邮件,例如,需要以下内容
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use App\Models\User; class WelcomeMail extends Mailable { use Queueable, SerializesModels; protected $user; /** * Create a new message instance. * * @return void */ public function __construct(User $user) { $this->user = $user; } ... }
那么您需要一个 App\Models\User
实例来生成此电子邮件。因此,您需要添加以下配置文件
return [ 'mails' => [ [ 'label' => 'Welcome mail', 'class' => \App\Mail\WelcomeMail::class, 'args' => [ \App\Nova\User::class, ] ], ] ];
然后您就可以直接在 UI 中发送测试邮件并显示预览。