2016-04-27 6 views
0

私はLaravel 4.xを使用していて、メールを送信するコントローラスクリプトを持っています。受信者のパラメータがハードコードされている場合、スクリプトは機能します。Laravelスクリプトがメールを送信する際に変数を使用できない理由

$email_data = array('inv_no' => '12345'); 

Mail::send('view.emailbody', $email_data, function($message) { 
    $message->to('[email protected]', 'ABC Co')->subject('Invoice'); 
}); 

ただし、受信者パラメータに変数を使用すると、スクリプトが機能しません。

$email_data = array('inv_no' => '12345'); 
$company_email = '[email protected]'; 
$company_name = 'ABC Co'; 

Mail::send('view.emailbody', $email_data, function($message) { 
    $message->to($company_email, $company_name)->subject('Invoice'); 
}); 

私のエラーがどこにあるのか本当に分かりません。いくつかの(奇妙な)理由のため、事前

答えて

1

の作品は、あなたはそれのように動作するこれらの変数を渡す必要があります次のようになります:

$email_data = array('inv_no' => '12345'); 
$company_email = '[email protected]'; 
$company_name = 'ABC Co'; 

Mail::send('view.emailbody', $email_data, function($message) use ($company_email, $company_name) { 
    $message->to($company_email, $company_name)->subject('Invoice'); 
}); 
+0

こんにちはハサン、私はコードを試してみました!ありがとうございます:-) –

+0

なぜあなたは正しい答えとして? :) –

+0

私はあなたの答え以外の数字0の上の矢印をクリックしましたが、私は15の評判が必要であるという通知を受け取ります:) –

0

おかげで、受信者のパラメータは、エントリを提出フォームから来ている場合、スクリプトは

$email_data = array('inv_no' => '12345'); 

Mail::send('view.emailbody', $email_data, function($message) { 
    $message->to(Input::get('email'), Input::get('company-name'))->subject('Invoice'); 
}); 
関連する問題