'Sending scheduled emails with lumen 8 and mailgun
I have a Lumen app (v8) configured for sending emails using Mailgun. Everything works flawlessly when I send the mail immediately, but when I try to use the "later" method it seems to be ignored. This is what I am using: file app.php
$app->configure('services');
$app->configure('mail');
$app->configure('queue');
$app->alias('mail.manager', Illuminate\Mail\MailManager::class);
$app->alias('mail.manager', Illuminate\Contracts\Mail\Factory::class);
$app->alias('mailer', Illuminate\Mail\Mailer::class);
$app->alias('mailer', Illuminate\Contracts\Mail\Mailer::class);
$app->alias('mailer', Illuminate\Contracts\Mail\MailQueue::class);
$app->make('queue');
the Onboard3.php mail class:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\DB;
class Onboard3 extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $info;
public function __construct($info)
{
$this->info = $info;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return
$this->from('[email protected]', 'Sender name')
->subject("Subject")
->view('emails.users.onboard3')
->text('emails.users.onboard3_plain');
}
}
My controller method:
Mail::to([
'[email protected]'
])
->later(
Carbon::now()->addMinutes(10000)
, new Onboard3($recipient)
);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
