Laravel — Как представить электронную почту с объявленной переменной в функции запроса

#laravel

Вопрос:

В моем проекте Laravel-8 у меня есть эта функция запроса в контроллере:

 public function sendemail($contact)
{
    $data = [
        'name'=> $contact['name'],
        'email'=> $contact['email'],
        'subject'=> $contact['subject'],
        'message'=> $contact['message']
    ];
    $site_email = InfoSite::select('email')->first();
    if(!$site_email) return $this->error("Site Contact Email does not exist", 404);

  Mail::send('mail', $data, function($mail_message) {
     $mail_message->to('lamptey@gmail.com')
                ->subject($data->subjects);
     $mail_message->from($data->email);
  });
}
 

Как мне заменить lamptey@gmail.com с помощью $site_email?

Спасибо

Ответ №1:

Вы можете передать $site_email переменную с помощью метода use() :

 $site_email = InfoSite::select('email')->first();
if(!$site_email) return $this->error("Site Contact Email does not exist", 404);

  Mail::send('mail', $data, function($mail_message)  use ($site_email) {
     $mail_message->to($site_email->email)
                ->subject($data->subjects);
     $mail_message->from($data->email);
  });
}