Php cron作业-在检查laravel中的到期日是否临近时自动发送电子邮件

Php cron作业-在检查laravel中的到期日是否临近时自动发送电子邮件,php,laravel,email,cron,laravel-7,Php,Laravel,Email,Cron,Laravel 7,我正试图在某些东西过期时通过laravel automatic发送电子邮件 Mail>EpiryAlert.php class ExpireAlert extends Mailable implements ShouldQueue { use Queueable, SerializesModels; private $alerts; /** * Create a new message instance. * * @return void

我正试图在某些东西过期时通过laravel automatic发送电子邮件

Mail>EpiryAlert.php

class ExpireAlert extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    private $alerts;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($alerts)
    {
        $this->alerts = $alerts;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->markdown('emails.alerts')
        ->with('alerts', $this->alerts);
    }
}
控制台>命令>PassportExpire.php

class PassportExpire extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'expire:passport';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Sends a Passport Expiry to a Admin via email';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        $now = Carbon::now('Asia/Dubai')->toDateTimeString();
        $passports = Passport::query()
            ->where(['send_alert' => 1])
            ->get();
        $data = [];
        foreach($passports as $key=>$passport){
            $data[$key]['id'] = $passport->id;
            $data[$key]['passport_no'] = $passport->passport_no;
            $data[$key]['name'] = $passport->name;
            $data[$key]['id_no_cnic'] = $passport->id_no_cnic;
            $data[$key]['issue_date'] = $passport->issue_date;
            $data[$key]['expiry_date'] = $passport->expiry_date;
            $data[$key]['post_designation'] = $passport->post_designation;
            $data[$key]['dob'] = $passport->dob;

            $to = Carbon::createFromFormat('Y-m-d H:s:i', $now);
            $from =   Carbon::createFromFormat('Y-m-d H:s:i', $passport->expiry_date);
            $data[$key]['now']   =   $now;
            
            if( Carbon::parse($passport->expiry_date) > Carbon::now() ){
                $number_of_days = Carbon::parse(Carbon::now('Asia/Dubai'))->diffInDays($passport->expiry_date);
                $data[$key]['days']   =    $number_of_days;
                $data[$key]['days_in_human']   =    Carbon::parse($passport->expiry_date)->diffForHumans();
                if( $number_of_days == 7){
                    $data[$key]['alert_for_7_days'] = 'Alert will be sent now 7 days';
                }
                if( $number_of_days == 15){
                    $data[$key]['alert_for_15_days'] = 'Alert will be sent now 15 days';
                }
                if( $number_of_days == 30){
                    $data[$key]['alert_for_30_days'] = 'Alert will be sent now 30 days';
                }
            }else{
                $data[$key]['days']     =   0;
                $data[$key]['days_in_human']   =    Carbon::parse($passport->expiry_date)->diffForHumans();
            }
        }
        $alert = [
            'passport_no'   =>  'ex12312312',
            'name'  =>  'test name',
            'expiry_date'   =>  '01-11-2020',
            'id_no_cnic'    =>  '12312-3123123-1'
        ];
        $this->sendEmailToAdmin($alert);
    }

    private function sendEmailToAdmin($alerts){
        $alerts = [
            'passport_no'   =>  'ex12312312',
            'name'  =>  'test name',
            'expiry_date'   =>  '01-11-2020',
            'id_no_cnic'    =>  '12312-3123123-1'
        ];
        Mail::to('salman.promate@gmail.com')->send(new ExpireAlert($alerts));
        DB::table('tbl_test')->insert(
            ['data_text' => 'test data']
        );
        print_r($alerts);
    }
}
Console>Kernal.php

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        PassportExpire::class,
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('expire:passport --force')->everyMinute();
    }
}
当我运行这个命令时,php artisan expire:passport 我得到了成功的回复,但它不是通过命令发送电子邮件,而是当我通过route打开时,它在这里发送的电子邮件是route

use App\Mail\ExpireAlert;
use Illuminate\Support\Facades\Mail;
Route::get('/mail', function () {
    $alerts = [
        'passport_no'   =>  'ex12312312',
        'name'  =>  'test name',
        'expiry_date'   =>  '01-11-2020',
        'id_no_cnic'    =>  '12312-3123123-1'
    ];
    Mail::to('salman.promate@gmail.com')->send(new ExpireAlert($alerts));
    return new ExpireAlert($alerts);
});
你能告诉我怎么解决这个问题吗?问题是什么

请在服务器/主机上检查此命令

/usr/local/bin/php/home2/junaidquyyum/public_html/fas/artisan 过期:护照

这是我的服务器路径

home2/junaidquyyum/public_html/fas


fas是一个文件夹,我的laravel应用程序在其中

请阅读每一步已经完成的文档,但它在运行命令后不发送电子邮件,甚至在服务器上也不发送。唯一一条发送电子邮件的路线。