Laravel - Notifications - Mailables And On Demand Notifications
If you are sending an on-demand notification, the $notifiable
instance given to the toMail
method will be an instance of Illuminate\Notifications\AnonymousNotifiable
, which offers a routeNotificationFor
method that may be used to retrieve the email address the on-demand notification should be sent to:
use App\Mail\InvoicePaid as InvoicePaidMailable;
use Illuminate\Notifications\AnonymousNotifiable;
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return Mailable
*/
public function toMail($notifiable)
{
$address = $notifiable instanceof AnonymousNotifiable
? $notifiable->routeNotificationFor('mail')
: $notifiable->email;
return (new InvoicePaidMailable($this->invoice))
->to($address);
}