<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Mail; use App\Mail\Test; use App\Models\{Site,User}; class EmailTest extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'test-email' .' {--s|site : Site ID}' .' {id : User ID}' .' {email? : Alternative Email}'; /** * The console command description. * * @var string */ protected $description = 'Send a test email'; /** * Execute the console command. * * @return mixed */ public function handle() { Config::set( 'site', $this->option('site') ? Site::findOrFail($this->option('site')) : Site::where('url',config('app.url'))->sole() ); $uo = User::find($this->argument('id')); $result = Mail::to($this->argument('email') ?? $uo->email) ->send(new Test($uo)); $this->info($result->getMessageId()); return self::SUCCESS; } }