Я пытаюсь отправлять электронное письмо своим пользователям, у которых есть непрочитанные элементы, один раз в день.Для этого, используя Laravel 5.6, я планирую закрытие следующим образом:
use DB;
use Mail;
use App\Mail\UnreadLinks;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->call(function() {
$unreadLinks = DB::table('links')
->leftJoin('users', 'users.id', '=', 'links.recipient_id')
->select('users.email')
->where('links.read_at', null)
->groupBy('users.email')
->get();
foreach ($unreadLinks as $unreadLink) {
Mail::to($unreadLink->email)->send(new UnreadLinks());
}
})->dailyAt('20:00');
}
}
Проблема в том, что я не получаю никаких писем.
- Запрос хорошо работает при отладке
- Почта успешно отправляется при локальной попытке с Mailtrap
- Mailgun правильно настроен и хорошо работает с другими частями моего приложения
- Я установил cron на своем сервереследуя документации Laravel, и другие задания для других веб-сайтов работают хорошо
- У меня нет записанного журнала ошибок (ни в файле на сервере, ни по электронной почте с использованием метода
emailOutputTo
)
Я что-то здесь скучаю?