2015-03-08 7 views
0

Я пытаюсь использовать планировщик Laravel 5 для отправки электронной почты приложения. Я использую этот код.Расписание отправки писем

// app/Console/Kernal.php 
$schedule->call(function() 
{ 
    $newsletter = Newsletter::first()->toArray(); 

    Mail::send('emails.newsletter', $newsletter, function($message) 
    { 
     $message->to('[email protected]', 'John Doe')->subject('Test'); 
    }); 

})->cron('* * * * *'); 

А потом я вручную называть его (пока) с php artisan schedule:run в терминале. Терминал возвращает Running scheduled command: Closure, и ничего больше не происходит.

Когда я меняю код на этот, первый информационный бюллетень удаляется. Поэтому это должно быть проблемой с Mail. У кого-нибудь есть идеи?

$schedule->call(function() 
{ 
    $newsletter = Newsletter::first(); 

    $newsletter->delete(); 

})->cron('* * * * *'); 
+0

Трудно сказать без каких-либо дополнительных подробностей. Имеются ли ресурсы/представления/электронные письма/newsletter.blade.php? Что вы видите, когда вы сбрасываете $ message? – Jason

+0

@ Джейсон Да, этот вид существует. Письмо отправляет штраф, когда я помещаю этот код в любой метод контроллера в качестве теста. Но я пытаюсь отправить его из графика. – Staysee

ответ

0

Я понял. Я думаю, что это была просто проблема с моей конфигурацией почты. Я переключился на smtp, и все сработало нормально.

0

Вы когда-нибудь разрешали это? Сейчас у меня такая точная проблема. Единственный способ это говорит, что вы можете отправить по электронной почте является:

$schedule->command('foo')->sendOutputTo('path to file')->semailOutputTo('[email protected]'); 

Но нет формата или любые дополнительные сообщения, вы можете добавить от того, что я вижу.

+0

Я думаю, что это была проблема с моей настройкой почты. Я переключился на smtp и использовал [mailtrap] (https://mailtrap.io) для тестирования. Казалось, все работает нормально. – Staysee