ldc-legaulois/app/Http/Controllers/Bo/MailTesterController.php

50 lines
1.3 KiB
PHP
Raw Permalink Normal View History

<?php
declare(strict_types=1);
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Http\Requests\Bo\SendTestMailRequest;
use App\Models\User;
use App\Services\Mail\MailTesterService;
use Illuminate\Contracts\View\View;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Throwable;
class MailTesterController extends Controller
{
public function __construct(
private readonly MailTesterService $mailTesterService
) {
$this->middleware('can:testMails,' . User::class);
}
public function listMails(): View
{
return view('bo.mail-testing');
}
public function sendMail(SendTestMailRequest $request): RedirectResponse
{
$firstname = 'Jean';
$lastname = 'Dupuis';
$recipient = $request->getToAddress("{$firstname} {$lastname}");
try {
$this->mailTesterService->send(
mailType: $request->getMailToTest(),
recipient: $recipient,
firstname: $firstname,
lastname: $lastname
);
return back()->with('success', __("Le mail a été envoyé à l'adresse {$recipient->address}"));
} catch (Throwable $e) {
report($e);
2026-09-25 16:25:31 +02:00
return back()->with('error', "Échec lors de l'envoi du mail : {$e->getMessage()}");
}
}
}