- 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.
62 lines
2.1 KiB
PHP
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'));
|
|
}
|
|
}
|