Laravel Mail представление не рендеринг - PullRequest
1 голос
/ 14 июня 2019

Я использую очередь для отправки электронных писем с помощью приведенного ниже кода:

   <?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue; 
use App\Models\Userprofile;

class testNotify extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    public $data;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {   
         return $this->view('emails.testnotify');
    }
}

В части контроллера я использую send -> send (новый testNotify ($ data)); Поскольку нам не нужна очередь вместо отправки согласно документу Laravel версии 5.8

public function send(Request $request)
    {
        $data = $request->Text;
        Mail::to('anymail@gmail.com')->send(new testNotify($data));
        \Session::put('successmessage','Sent');
        return Redirect::back(); 
    } 

Я использую представление:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
 <title>Laravel Send Email Example</title>
</head>
<body>

 <h1>Thank you, {{ $data }}</h1>

</body>
</html> 

Теперь, когда я пытаюсь отправить, в полученном письме нет содержимого.

Я отладил весь класс vendor \ laravel \ framework \ src \ Illuminate \ Mail \ Mailer.php и обнаружил, что функция renderView не может отобразить представление.

protected function renderView($view, $data)
{
    return $view instanceof Htmlable
                    ? $view->toHtml()
                    : $this->views->make($view, $data)->render();
}

Я также изменил Doctype представления на HTML5, но получил тот же результат без содержимого.

Представление рендеринга выполняет view-> toHtml () вместо $this-> views-> make

Правильно ли используется HTML-код представления?или Я пропустил какую-либо конфигурацию в очереди.

Обратите внимание, что при удалении реализует ShouldQueue.Я получаю содержание.

Очень ценю любые рекомендации или помощь.

1 Ответ

0 голосов
/ 15 июня 2019

Проблема решена ... файлы журналов недоступны ... когда мы отправили электронное письмо, есть некоторые журналы, которые записывает система. При наличии соответствующего разрешения на вход в систему и другие каталоги ... Я могу получать контент. Спасибо всем за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...