我正在使用Laravel 4.x并且有一个发送电子邮件的控制器脚本。如果我的收件人参数是硬编码的,则脚本可以正常工作。
$email_data = array('inv_no' => '12345');
Mail::send('view.emailbody', $email_data, function($message) {
$message->to('johndoe@abc.com', 'ABC Co')->subject('Invoice');
});
但如果我在收件人参数上使用变量,我的脚本就不起作用了。
$email_data = array('inv_no' => '12345');
$company_email = 'johndoe@abc.com';
$company_name = 'ABC Co';
Mail::send('view.emailbody', $email_data, function($message) {
$message->to($company_email, $company_name)->subject('Invoice');
});
我真的无法弄清楚我的错误在哪里。
提前致谢
答案 0 :(得分:1)
你必须传递那些变量,然后它将按如下方式工作:
$email_data = array('inv_no' => '12345');
$company_email = 'johndoe@abc.com';
$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');
});
答案 1 :(得分: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');
});