如何将动态值发送到laravel中的邮件功能

时间:2015-03-26 18:15:36

标签: php email laravel

我有这个代码用于从Laravel发送邮件。这段代码运行良好。

Mail::send('emails.auth.accept', array(), function($message) {
                        $message->to('abc@gmail.com', 'abc')->subject('This is a demo!');
                    });

但我只能使用硬编码值发送邮件,例如abc@gmail.com。

每当我尝试这个。

 Mail::send('emails.auth.accept', array(), function($message) {
                        $message->to($user, $name)->subject('This is a demo!');
                    });

上面的代码给出了错误:未定义的变量:user。这意味着它不接受动态值。 帮助我。

2 个答案:

答案 0 :(得分:4)

你应该使用

//see use statement
Mail::send('emails.auth.accept', array(), function($message) use($user, $anything) {
  $message->to('abc@gmail.com', 'abc')->subject('This is a demo!');
});

您的代码存在的问题是匿名函数有自己的上下文,您的数据不可用。这就是为什么你需要使用use语句将数据从方法的上下文传递给匿名函数。

有关详细信息,请查看此链接http://php.net/manual/en/functions.anonymous.php

答案 1 :(得分:0)

你想用。这是一个提供示例的链接。

http://forumsarchive.laravel.io/viewtopic.php?id=8264