No. Mailable
класс не реализует те же методы, что и MailMessage
класса.
Вы можете использовать класс MailMessage
за пределами уведомлений, если вам нужно, но вам придется отправлять почтовый объект самостоятельно.
$message = (new \Illuminate\Notifications\Messages\MailMessage())
->to(/* */)
->subject(/* */)
->line(/* */)
->action(/* */)
->line(/* */);
// most of this code is copied from \Illuminate\Notifications\Channels\MailChannel
Mail::send($message->view, $message->data(), function ($m) use ($message) {
if (!empty($message->from)) {
$m->from($message->from[0], isset($message->from[1]) ? $message->from[1] : null);
}
$m->to($message->to);
if ($message->cc) {
$m->cc($message->cc);
}
if (!empty($message->replyTo)) {
$m->replyTo($message->replyTo[0], isset($message->replyTo[1]) ? $message->replyTo[1] : null);
}
$m->subject($message->subject ?: 'Default Subject');
foreach ($message->attachments as $attachment) {
$m->attach($attachment['file'], $attachment['options']);
}
foreach ($message->rawAttachments as $attachment) {
$m->attachData($attachment['data'], $attachment['name'], $attachment['options']);
}
if (!is_null($message->priority)) {
$m->setPriority($message->priority);
}
});
NB: это не проверено, но я думаю, что он должен работать.
Это будет запрос на тяну. – ademin