42 lines
1.7 KiB
PHP
42 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\Mail;
|
|
|
|
class TestMailCommand extends Command
|
|
{
|
|
protected $signature = 'netgescon:test-mail {email=netgescon@gmail.com : Destinatario di test}';
|
|
|
|
protected $description = 'Verifica la connessione SMTP Google Workspace / NetGescon e invia un\'email di diagnostica';
|
|
|
|
public function handle(): int
|
|
{
|
|
$recipient = trim((string) $this->argument('email'));
|
|
|
|
$this->info("Diagnostica Configurazione Posta NetGescon:");
|
|
$this->line("- MAILER: " . config('mail.default'));
|
|
$this->line("- HOST: " . config('mail.mailers.smtp.host') . ":" . config('mail.mailers.smtp.port'));
|
|
$this->line("- USERNAME: " . config('mail.mailers.smtp.username'));
|
|
$this->line("- MITTENTE: " . config('mail.from.address') . " (" . config('mail.from.name') . ")");
|
|
$this->line("- CODA (QUEUE_CONNECTION): " . config('queue.default'));
|
|
$this->line("- DESTINATARIO TEST: " . $recipient);
|
|
|
|
$this->info("Invio in corso...");
|
|
|
|
try {
|
|
Mail::raw("Questa e un'email di diagnostica inviata dal server NetGescon (.205) per confermare la corretta attivazione del servizio SMTP con account Google Workspace ({$recipient}). Data/ora: " . now()->toIso8601String(), function ($message) use ($recipient) {
|
|
$message->to($recipient)
|
|
->subject('NetGescon - Test Connessione Servizio Email');
|
|
});
|
|
|
|
$this->info("Email di test recapitata con successo a {$recipient}!");
|
|
return self::SUCCESS;
|
|
} catch (\Throwable $e) {
|
|
$this->error("Errore invio email: " . $e->getMessage());
|
|
return self::FAILURE;
|
|
}
|
|
}
|
|
}
|