jeudi 20 décembre 2018

Laravel Get Mail className from MessageSending event

I'm using laravel 5.7, so when sending an email using Mail interface two events fired Mail\Events\MessageSending and Mail\Events\MessageSent, so my goal is to catch MessageSending event and get the mailabe class used to send the email (example mail\Ordershipped) and stop it.

<?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;
    }
}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire