簡體   English   中英

Laravel 5.2:郵件未從cron-job發送,從郵件響應中獲取錯誤

[英]Laravel 5.2 : Mail not sending from cron-job, getting error from mail response

使用Laravel 5.2,能夠通過API調用發送郵件,但在通過cron / scheduled作業發送郵件時出現錯誤,

文件權限

  • 應用程序/存儲/框架-777
  • 供應商/ laravel / framework / src-777

錯誤消息是

local.ERROR: exception 'ErrorException' with message 'Undefined variable: errors' in /var/www/html/v1/storage/framework/views/258d88011f525ffcc409e29eafacedd9b8048ff6.php:24

來自日志文件的完整錯誤消息:

[2018-09-11 10:16:01] local.ERROR: exception 'ErrorException' with message 'Undefined variable: errors' in /var/www/html/v1/storage/framework/views/258d88011f525ffcc409e29eafacedd9b8048ff6.php:24
Stack trace:
#0 /var/www/html/v1/storage/framework/views/258d88011f525ffcc409e29eafacedd9b8048ff6.php(24): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined varia...', '/var/www/html/v...', 24, Array)
#1 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(42): include('/var/www/html/v...')
#2 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath('/var/www/html/v...', Array)
#3 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(149): Illuminate\View\Engines\CompilerEngine->get('/var/www/html/v...', Array)
#4 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(120): Illuminate\View\View->getContents()
#5 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(85): Illuminate\View\View->renderContents()
#6 /var/www/html/v1/storage/framework/views/80be09fc2f6488124101d105b7ffca95eab87ca3.php(333): Illuminate\View\View->render()
#7 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(42): include('/var/www/html/v...')
#8 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath('/var/www/html/v...', Array)
#9 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(149): Illuminate\View\Engines\CompilerEngine->get('/var/www/html/v...', Array)
#10 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(120): Illuminate\View\View->getContents()
#11 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(85): Illuminate\View\View->renderContents()
#12 /var/www/html/v1/storage/framework/views/60a5d080fd9cde632d9140e6526f07954901cab0.php(17): Illuminate\View\View->render()
#13 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(42): include('/var/www/html/v...')
#14 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath('/var/www/html/v...', Array)
#15 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(149): Illuminate\View\Engines\CompilerEngine->get('/var/www/html/v...', Array)
#16 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(120): Illuminate\View\View->getContents()
#17 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/View/View.php(85): Illuminate\View\View->renderContents()
#18 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(441): Illuminate\View\View->render()
#19 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(321): Illuminate\Mail\Mailer->getView('welcome', Array)
#20 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(161): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'welcome', NULL, NULL, Array)
#21 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Mail\Mailer->send('welcome', Array, Object(Closure))
#22 /var/www/html/v1/app/Http/Controllers/ExpenseController.php(1733): Illuminate\Support\Facades\Facade::__callStatic('send', Array)
#23 /var/www/html/v1/app/Http/Controllers/ExpenseController.php(1733): Illuminate\Support\Facades\Mail::send('welcome', Array, Object(Closure))
#24 [internal function]: App\Http\Controllers\ExpenseController->sendMailFromCronTemplate()
#25 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
#26 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Container/Container.php(602): Illuminate\Container\Container->call(Array, Array)
#27 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Container/Container.php(502): Illuminate\Container\Container->callClass('\\App\\Http\\Contr...', Array, NULL)
#28 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php(61): Illuminate\Container\Container->call('\\App\\Http\\Contr...', Array)
#29 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php(61): Illuminate\Console\Scheduling\CallbackEvent->run(Object(Illuminate\Foundation\Application))
#30 [internal function]: Illuminate\Console\Scheduling\ScheduleRunCommand->fire()
#31 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
#32 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): Illuminate\Container\Container->call(Array)
#33 /var/www/html/v1/vendor/symfony/console/Command/Command.php(256): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Console/Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#35 /var/www/html/v1/vendor/symfony/console/Application.php(794): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#36 /var/www/html/v1/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Console\Scheduling\ScheduleRunCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#37 /var/www/html/v1/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#38 /var/www/html/v1/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#39 /var/www/html/v1/artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#40 {main}

來自app / console / kernal.php的Cron函數

protected function schedule(Schedule $schedule)
    {
        $schedule->call('\App\Http\Controllers\ExController@sendMailFromCron')->cron('* * * * *');
    }

郵件功能:

 $data = array('name' => "Sample");
 $to = 'myname@company.com';

 $result = Mail::send('welcome', $data, function($message) use ($to) {
           $message->from('myname@company.com', 'Sample');
           $message->to($to);
           $message->subject('E-Mail Example');
 });

查看Laravel 5.2文檔Mail::send()的第一個參數是模板,在您的代碼段中,您指定了welcome模板。

welcome模板通常用作Web前端(而不是郵件)的默認視圖。 我認為您要傳遞的是根據文檔的emails.welcome ,但默認情況下不存在。 只需在resources/views/emails創建一個電子郵件目錄,然后在其中創建一個帶有您要通過電子郵件發送的內容的welcome.blade.php。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM