Laravel 4 Mail没有传递数据

时间:2013-08-01 10:45:15

标签: laravel laravel-4

电子邮件可以正常处理虚拟数据:

    Mail::send('emails.contact', $messageData, function ($message) use ($messageData) {
        $message->from('joetannorella@gmail.com', 'Joe');
        $message->to('joetannorella@gmail.com','Joe T')->subject('Email Test');
    });

但是当我尝试将数据传递到电子邮件中时,它不会发送。我知道一个常见的问题是没有通过使用($ data)传递数据,但我这样做并且它仍然无效。

这是我的代码不起作用:

    $messageData = array(
        'name' => 'test name',
        'email' => 'test email',
        'message' => 'test message'
    );

    Mail::send('emails.contact', $messageData, function ($message) Use ($messageData) {
        $message->from($messageData['email'], $messageData['name']);
        $message->to('joetannorella@gmail.com','Joe T')->subject('Email Test');
    });

我现在非常坚持想法!

由于

2 个答案:

答案 0 :(得分:5)

您不能将$message用作变量 - see L4 docs here

所以把它改成像“msg”这样的东西 - 即:

   $messageData = array(
        'name' => 'test name',
        'email' => 'test email',
        'msg' => 'test message'
    );

答案 1 :(得分:-1)

$arr = array(true, false, false, true, false, true);

$randTrueIndex = array_rand(array_filter($arr, function($item) { 
    return $item;
}));

$arr[$randTrueIndex] = false;