【问题标题】:OctoberCMS - Mail::send(), Undefined variables - LaravelOctoberCMS - Mail::send(),未定义的变量 - Laravel
【发布时间】:2017-06-20 15:37:16
【问题描述】:

我正在尝试将 SAME 电子邮件发送到从数组 $emails 给出的多个地址。

我创建了一个名为 SendMail 的类,里面是一个接受 2 个参数的 sendPost() 方法: ($post, $emails)

这是我的代码:

class SendMail {

public static function sendPost($post, $emails)
{
        Mail::send('acme.blog::mail.message', $post, function($message) {

            $message->to($emails);
            $message->from('mail@compuflexcorp.com', 'Compuflex Mail');
            $message->subject($post['subject']);
            $message->replyTo($post['email']);

        });
    }
}

问题是,我一直收到错误:

C:\...\SendMail.php 第 14 行的“未定义变量 $emails”

第 14 行: $message->to($emails);

我尝试过的:

  1. 我检查是否可以访问sendPost()$post$emails 变量内部,但在Mail::send() 外部。答案是YES,我可以访问$post$emails 内部的信息sendPost(),所以变量实际上是被传递的到sendPost() 方法。

  2. 起初,我认为这与$emails 不是Mail::send() 的参数之一有关,所以我将$post$emails 放入一个名为@ 的数组中987654339@,然后我得到了错误:

C:\...\SendMail.php 第 14 行的“未定义变量 $vars”

所以,我意识到问题似乎是我无法将任何变量传递给Mail::send(),或者换句话说,我只是不知道如何...

任何帮助将不胜感激... 托马斯·雅马凯蒂斯

【问题讨论】:

    标签: php laravel laravel-5 octobercms


    【解决方案1】:

    您需要按如下方式传递 $emails 变量:

    class SendMail {
    
    public static function sendPost($post, $emails)
    {
            Mail::send('acme.blog::mail.message', $post, function($message) use ($emails) {
    
                $message->to($emails);
                $message->from('mail@compuflexcorp.com', 'Compuflex Mail');
                $message->subject($post['subject']);
                $message->replyTo($post['email']);
    
            });
        }
    }
    

    【讨论】:

    • 如果它有效,请将其标记为正确答案,这样也会对其他人有所帮助。
    • 我会的,大概有 3 分钟的等待时间。
    • @HasanTareque 你能告诉我这里 $post 的用途是什么以及如何将这个 $post 传递给 sendPost 方法,因为我称之为表单提交方法。另外,如果您能帮助我如何将数据传递给 Maul 视图/模板。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2022-01-27
    • 2019-04-29
    • 1970-01-01
    • 2015-05-15
    • 2019-03-01
    相关资源
    最近更新 更多