如何在laravel中向mail函数发送动态值


How to send dynamic values to mail function in 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。这意味着它不接受动态价值观。帮帮我。

您应该使用

//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

您想要使用。这里有一个提供示例的链接。

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