2016-01-03 3 views
1

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

$this->create($request->all()); 
//Send confirmation mail 
$email = $request['email']; 
Mail::send('auth.emails.welcome', ['token' => 'System'], function ($message) 
{ 
    $message 
      ->to(
        $email, 
        'Laravel 5.2 App' 
       ) 
      ->subject('Activate Your Account !'); 
}); 

Но я получаю эту ошибку: enter image description here

Подробной код:

public function register(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    //Auth::login($this->create($request->all())); 

    $this->create($request->all()); 
    //Send confirmation mail 
    $email = $request['email']; 
    Mail::send('auth.emails.welcome', ['token' => 'System'], function ($message) 
    { 
     $message 
       ->to(
         $email, 
         'Laravel 5.2 App' 
        ) 
       ->subject('Activate Your Account !'); 
    }); 

    return redirect($this->redirectPath()); 
} 

Может ли кто-нибудь помочь?

ответ

4

Вам нужно передать переменную замыканию с use конструкцией, потому что крышка имеет другую сферу:

$this->create($request->all()); 

//Send confirmation mail 
$email = $request['email']; 

Mail::send('auth.emails.welcome', ['token' => 'System'], function ($message) use ($email) { 
    $message->to($email,'Laravel 5.2 App') 
      ->subject('Activate Your Account !'); 
}); 

Вы можете прочитать больше о том, что в документации PHP: Anonymous functions.

Смежные вопросы