我正在使用laravel 5.7,当使用Mail接口发送电子邮件时会触发两个事件Mail\Events\MessageSending
和Mail\Events\MessageSent
,因此我的目标是捕获MessageSending事件并获取用于发送电子邮件的可邮寄类(例如mail\Ordershipped
)并停止它。
<?php
namespace App\Listeners;
use Illuminate\Mail\Events\MessageSending;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class LogSendingMessage
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param MessageSending $event
* @return void
*/
public function handle(MessageSending $event)
{
//here i want to check what mailable class used and stop it.
if ($mailable == 'Ordershipped')
return false;
// if another mailable class (example: userVerification)
else
return true;
}
}
Illuminate\Mail\Events\MessageSending
事件类,我正在尝试获取可邮寄类,但还是谢谢您。 - Yassine Qoraiche