отправка почты через очередь - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу отправить электронное письмо после регистрации пользователя на моем сайте. Когда я отправляю его, используя Mail::send(), он отлично работает.

Mail::to($valuer)->send(new \App\Mail\RegistationConfirmed($course, $valuer));

в этом шаблоне электронной почты есть файлы css и attatchment, и все это прекрасно работает, но для отправки требуется время. Поэтому я использовал queue как это

Mail::to($valuer->email)->later(now()->addMinutes(2), new RegistationConfirmed($course, $valuer));

но у меня тут три проблемы

 1. I can not access pivot table in the email view

при удалении атрибутов сводки электронное письмо получено, но с проблемами при буксировке

 2. the email looks like not using css, so its just html
 3. there is no attatchments in the email

вот метод build в моей почте

public function build()
{
    $mail = $this->view('mail.test')
        ->with([
            'course' => $this->course,
            'registration' => $this->registration,
        ])
        ->subject('title' . $this->course->curriculum->code);

    foreach ($this->course->curriculum->materials()->where('type', 'Student Manual')->get() as $material) {
        $mail->attach($material->url, [
            'as' => $material->name,
        ]);
    }
    return $mail;
}
...