2016-03-22 3 views
0

Я хочу, чтобы отправить письмо с темой с помощью переменной, это кодSendmail Subject в Laravel 5,1

public function sendmail(Request $request) 
{ 
    $data = [ 
     'subject' => $request->input('subject'), 
     'name' => $request->input('name'), 
     'phone' => $request->input('phone'), 
     'email' => $request->input('email') 
    ]; 
    Mail::send('mail.sendmail' , $data, function($msg){ 
     $msg->from('mygmail.com', 'Avil'); 
     $msg->to('[email protected]', 'Avil')->subject('Welcome to Laravel 5.1'); 
    }); 
    return redirect()->route('contact.index'); 
} 

Я хочу испытуемый не "Добро пожаловать в Laravel 5.1", тема является

public function sendmail(Request $request) 
{ 
    $data = [ 
     'subject' => $request->input('subject'), 
     'name' => $request->input('name'), 
     'phone' => $request->input('phone'), 
     'email' => $request->input('email') 
    ]; 
    Mail::send('mail.sendmail' , $data, function($msg){ 
     $msg->from('[email protected]', 'Hung Nguyen'); 
     $msg->to('[email protected]', 'Hung Manh')->subject($data['subject']); 
    }); 
    return redirect()->route('contact.index'); 
} 

Когда я работает погрешность отображения:

неопределенной переменной: данные

Пожалуйста, помогите мне. Большое вам спасибо

ответ

0

Вы должны передать $ data в callback в методе отправки. Обратитесь к строке, в которой используется фасад Mail.

public function sendmail(Request $request) 
{ 
    $data = [ 
     'subject' => $request->input('subject'), 
     'name' => $request->input('name'), 
     'phone' => $request->input('phone'), 
     'email' => $request->input('email') 
    ]; 
    Mail::send('mail.sendmail' , function($msg) use($data){ 
     $msg->from('[email protected]', 'Hung Nguyen'); 
     $msg->to('[email protected]', 'Hung Manh')->subject($data['subject']); 
}); 
    return redirect()->route('contact.index'); 
}