Я только что обновил мою версию 5.2
laravel до 5.3
а затем до 5.4
после официальных методов обновления.
Теперь я пытаюсь использовать одну из новых функций, чтобы создать электронную почту с уценкой.
Согласно документации, найденной по адресу: https://laravel.com/docs/5.4/mail#view-data
Чтобы внедрить встроенное изображение, используйте метод embed в переменной
$message
в шаблоне электронной почты. Laravel автоматически делает переменную$message
доступной для всех ваших шаблонов электронной почты, поэтому вам не нужно беспокоиться о ее передаче вручную:
Однако это:
<img src="{{ $message->embed(public_path().'/img/official_logo.png') }}">
приведет к следующей ошибке:
Неопределенная переменная:
message
Я что-то упускаю? Или есть что-то недокументированное в руководствах по обновлению?
Позднее редактирование:
Я вызываю функцию электронной почты с:
\Mail::to($user)->send(new WelcomeCandidate($user, $request->input('password')));
И WelcomeCandidate выглядит так:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Models\User;
class WelcomeCandidate extends Mailable
{
use Queueable, SerializesModels;
public $user;
public $password;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(User $user, $password)
{
//
$this->user = $user;
$this->password = $password;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$this->subject('Welcome!');
return $this->markdown('emails.welcome-candidate');
}
}