【问题标题】:How to send dynamic values to mail function in laravel如何将动态值发送到 laravel 中的邮件功能
【发布时间】:2015-03-27 07:33:02
【问题描述】:

我有这段代码用于从 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!');
                    });

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

【问题讨论】:

    标签: php email laravel


    【解决方案1】:

    你应该使用

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-21
        • 1970-01-01
        • 2018-11-14
        • 2022-06-30
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        相关资源
        最近更新 更多