我一直坚持在 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