In notification email, we can use some API to write the mail rapidly using methods like greeting(), line() etc..
https://laravel.com/docs/5.4/notifications#mail-notifications
Can we use the same API in Mailable class?
Thanks
In notification email, we can use some API to write the mail rapidly using methods like greeting(), line() etc..
https://laravel.com/docs/5.4/notifications#mail-notifications
Can we use the same API in Mailable class?
Thanks
No. The Mailable class does not implement the same methods as the MailMessage class.
You can use the MailMessage class outside of notifications, if you need to, but you'll have to send the mail object yourself.
$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: this is untested, but I think it should work.