【问题标题】:Mail::queue not sending emailMail::queue 不发送电子邮件
【发布时间】:2014-10-03 02:45:34
【问题描述】:

我无法在 Laravel 4 中使用队列发送电子邮件。让我描述一下我的问题:

这行得通:

Mail::send('emails.validateEmail', array("username" => Input::get("username"), "code" => $code), function($message){
$message->to(Input::get('email'), Input::get('username'))
    ->subject('Some subject');
});

但这不起作用:

Mail::queue('emails.validateEmail', array("username" => Input::get("username"), "code" => $code), function($message){
    $message->to(Input::get('email'), Input::get('username'))
        ->subject('Some subject');
    });

我创建了failed_jobs 表,在该表中我保留了工人的所有失败作业,在该表中我发现了这个错误:

{"job":"mailer@handleQueuedMessage","data":{"view":"emails.validateEmail","data":{"username":"some_username","code":"MMgNSoaFcyGoIy10sIKgkwUOdux3tM"},"callback":"C:38:\"Illuminate\\Support\\SerializableClosure\":155:{a:2:{i:0;s:126:\"function ($message) {\n    $message->to(\\Input::get('email'), \\Input::get('username'))->subject('Some subject');\n};\";i:1;a:0:{}}}"}}

我还发现了这个: http://forumsarchive.laravel.io/viewtopic.php?id=12672

.. 我按照上一个链接中的所有说明进行操作,但一直收到此错误消息。

有人知道怎么解决吗?

编辑:emails.validateEmail 文件

Hello {{ $username }}!<br>

<p>some text</p><br>


<a href="{{ URL::route('validate') }}?code={{ $code }}&username={{ $username }}">{{ URL::route("validate") }}?code={{ $code }}&username={{ $username }}</a><br><br>

some more text

【问题讨论】:

  • 您可以发布您的emails.validateEmail 查看文件吗?
  • @TheShiftExchange 我编辑了我的问题
  • 您使用的是什么队列驱动程序?
  • @TheShiftExchange 我正在使用 beanstalkd
  • 切换到同步驱动会出现这种情况吗?

标签: php laravel laravel-4 mail-queue


【解决方案1】:

查看您的错误作业 - 似乎它正在将 Input::get() 命令传递到序列化中,而不是来自这些命令的数据。

所以我认为你需要做这样的事情才能让它发挥作用:

$data['email'] = Input::get('email');
$data['username'] = Input::get('username');
Mail::queue('emails.validateEmail', array("username" => Input::get("username"), "code" => $code), function($message) use ($data){
    $message->to($data['email'], $data['username'])->subject('Some subject');
    });

【讨论】:

  • 就是这样!非常感谢
猜你喜欢
  • 1970-01-01
  • 2020-11-26
  • 2015-06-30
  • 2011-04-22
  • 2022-11-13
  • 2016-08-29
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
相关资源
最近更新 更多