Если предоставленная информация верна, вы возвращаете представление emails.templateUserRegister
, и оно должно быть email.templateUserRegister
.(Обратите внимание) Причина, по которой я это говорю, заключается в том, что это ваш путь просмотра.
views / email / templateUserRegister.blade.php
И это определенноне имеет 's'.
Редактировать
Вместо этого:
return $this->view('emails.templateUserRegister')
->from($address, $name)
->subject($subject)
->with([ 'message' => $this->data['message'] ]);
Попробуйте это:
$message = $this->data['message'];
return $this->view('emails.templateUserRegister')
->from($address, $name)
->subject($subject)
->with('message', $message);
И сделать $data
в
app \ Mail \ SendgridEmail.php
private
или protected
.
Еслиэто не работает, попробуйте отправить $data
с контроллера как строку, а не как массив.Оставшийся код останется прежним, и эта строка изменится:
->with([ 'message' => $this->data['message'] ]);
на:
->with('message', $this->data);
И вам все еще нужно изменить доступ с $data
на private
или protected
.
РЕДАКТИРОВАТЬ 2
Если вы проверяете документацию Laravel для mail , он говорит следующее:
Примечание: Переменная $ message всегда передается в представления электронной почты и позволяет встроенное вложение вложений.Поэтому лучше избегать передачи переменной сообщения в полезную нагрузку вашего представления.
Поэтому, чтобы исправить проблему, просто измените $message
на другое имя, например $data
или $text
.Измените это:
->with([ 'message' => $this->data['message'] ]);
на следующее:
->with( 'text', $this->data['message'] );
Надеюсь, это решит проблему.