Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 02.12.2019 11:10:04

Ошибка отправки почты

Всем привет!
Столкнулся с такой проблемой.
При отправки почты выдает ошибку "Trying to get property 'email' of non-object"
Не могу разобраться. Раньше без проблем отправлялась почта, а сейчас такая ошибка.

Контроллер

class LetterController extends Controller
  {
    public function letter(Request $request)
    {
      if ($request->isMethod('post')) {
        $messages = [
          'required' => 'Поле :attribute обязательно к заполнению',
          'email' => 'Поле :attribute должно быть email адресом',
          'captcha' => 'Поле :attribute введено не верно',
        ];

        $this->validate($request, [
          'email' => 'required|email',
          'name' => 'required|max:255',
          'text' => 'required|max:1000',
          'captcha' => 'required|captcha',
        ], $messages);

        $data = $request->all();

        Mail::send(new LetterMail($data));

        return redirect()->back()->with('status', 'Ваше сообщение отправлено!');
      }
    }
  }

Контроллер LetterMail

class LetterMail extends Mailable
{
    use Queueable, SerializesModels;

    public $data;

    public function __construct($data)
    {
        $this->data = $data;
    }

    
    public function build()
    {
        return $this->markdown('emails.feedback')
            ->from($this->data['email'], $this->data['name'])
            ->to(env('MAIL_ADMIN'))
            ->cc(env('MAIL_USER_1'))
            ->bcc(env('MAIL_USER_2'))
            ->subject('Сообщение от пользователя');
    }
}

Не в сети

#2 11.12.2019 15:12:53

Re: Ошибка отправки почты

У объекта нотификации ожидается проперть под именем email
Это либо поле в бд, заполненное, либо метод, указывающий откуда взять этот email
метод зовётся
```
public function routeNotificationFor()
```

Изменено hzone (11.12.2019 15:13:16)

Не в сети

Подвал раздела