Я пытаюсь отправить сообщение с задержкой по времени через очередь Redis и Mailgun, используя следующий код ...
$when = \Carbon\Carbon::now()->addMinutes(5);
Mail::to($demoDownloader->Email)->later($when, new DemoRequestFollowUp($demoDownloader));
Я вижу, что задание добавлено в очередь redis (используяRedis Desktop Manager) и остается в очереди в течение 5 минут, прежде чем исчезнуть из очереди.К сожалению, он никогда не появляется в журналах Mailgun.
Если я вместо этого использую эту строку кода ...
Mail::to($demoDownloader->Email)->send(new DemoRequestFollowUp($demoDownloader));
..., тогда электронное письмо появляется в журналах Mailgun и впоследствии приходитв почтовом ящике назначения успешно (минус задержка, конечно).
Сообщения об ошибках не записываются в storage / logs / laravel.log, поэтому я немного растерялся, почему это не работает.Я почти уверен, что использовал синтаксис, указанный в руководстве.
Кстати, мой почтовый ящик выглядит так ...
<?php
namespace App\Mail;
use \App\DemoDownloader;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class DemoRequestFollowUp extends Mailable
{
use Queueable, SerializesModels;
public $requestee;
public function __construct(DemoDownloader $requestee)
{
$this->requestee = $requestee;
}
public function build()
{
return $this->subject('Overview')
->view('email-demo-request-follow-up');
}
}
Я был бы очень признателен залюбой ввод.