<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Mail; use App\Mail\TestEmail as MailTest; use App\Models\{Site,User}; class TestEmail extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'test:email {site : Site ID} {id : User ID} {email? : Alternative Email}'; /** * The console command description. * * @var string */ protected $description = 'Send a test email'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { Config::set('site',Site::findOrFail($this->argument('site'))); $uo = User::find($this->argument('id')); Mail::to($this->argument('email') ?? $uo->email) ->send(new MailTest($uo)); } }