Files
voltcerto/app/Http/Controllers/EmailTestController.php
Luis Medon e488ae3342 Add feature tests, unit tests, and configuration for Laravel application
- Created ExampleTest and RoutesTest for basic application response and route testing.
- Implemented IsolatedDatabaseTestCase for isolated database testing.
- Added unit tests for various models and services including Contract, CPE, and LeadDetail.
- Developed request validation tests for CreateClientRequest, UpdateClientRequest, and ContractRequest.
- Introduced Vite configuration for asset management in the Laravel application.
2026-10-29 11:30:06 +00:00

62 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\View;
class EmailTestController extends Controller
{
public function sendTestEmail()
{
$start = microtime(true);
$emailData = [
'to' => 'luismedon@gmail.com',
'subject' => 'Teste Completo de Envio de E-mail',
'body' => 'Este é um e-mail de teste completo enviado via Laravel.',
'status' => 'pendente',
'error' => null,
'sent_at' => now()->toDateTimeString(),
];
try {
Mail::raw($emailData['body'], function ($message) use (&$emailData) {
$message->to($emailData['to'])
->subject($emailData['subject']);
});
$emailData['status'] = 'enviado com sucesso';
} catch (\Exception $e) {
$emailData['status'] = 'falha ao enviar';
$emailData['error'] = $e->getMessage();
Log::error('Erro ao enviar e-mail de teste: ' . $e->getMessage());
}
$emailData['execution_time'] = round(microtime(true) - $start, 4);
$emailData['mail_config'] = [
'driver' => config('mail.default'),
'host' => config('mail.mailers.smtp.host'),
'port' => config('mail.mailers.smtp.port'),
'encryption' => config('mail.mailers.smtp.encryption'),
'username' => config('mail.mailers.smtp.username'),
'from' => config('mail.from.address'),
'from_name' => config('mail.from.name'),
'timeout' => config('mail.mailers.smtp.timeout') ?? 'padrão',
];
$emailData['laravel_info'] = [
'laravel_version' => app()->version(),
'php_version' => phpversion(),
'env' => App::environment(),
'mailer_class' => get_class(app()->make('mailer')->getSymfonyTransport()),
];
return view('emails.test-status', compact('emailData'));
}
}