From e720c6c5dd07830f136deffa07a131a910722e1e Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Sun, 8 Mar 2026 22:12:12 +0100 Subject: [PATCH] create and send an email on account validate --- app/Http/Controllers/UserController.php | 10 ++++ app/Mail/ValidateMail.php | 58 ++++++++++++++++++++++++ resources/views/mails/validate.blade.php | 12 +++++ 3 files changed, 80 insertions(+) create mode 100644 app/Mail/ValidateMail.php create mode 100644 resources/views/mails/validate.blade.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 1eb2f3e..751c741 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers; use App\Events\UserCreated; +use App\Mail\TestMail; +use App\Mail\ValidateMail; use App\Models\Notification; use App\Models\User; use Illuminate\Database\Eloquent\ModelNotFoundException; @@ -12,6 +14,7 @@ use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; use App\Services\UserService; +use Illuminate\Support\Facades\Mail; use Pest\Support\Str; use Propaganistas\LaravelPhone\PhoneNumber; @@ -193,6 +196,13 @@ class UserController extends Controller $user->verified_at = now(); $user->save(); + + $data = [ + 'name' => $user->name, + 'lastname' => $user->lastname, + ]; + Mail::to($user->email)->send(new ValidateMail($data)); + return response()->json(['message' => 'User validated successfully']); } catch(\Exception $e) { diff --git a/app/Mail/ValidateMail.php b/app/Mail/ValidateMail.php new file mode 100644 index 0000000..9002787 --- /dev/null +++ b/app/Mail/ValidateMail.php @@ -0,0 +1,58 @@ +data = $data; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Compte validé - Comité des fêtes de Beaupont', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + view: 'mails.validate', + with: [ + 'name' => $this->data['name'], + 'lastname' => $this->data['lastname'], + ] + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/resources/views/mails/validate.blade.php b/resources/views/mails/validate.blade.php new file mode 100644 index 0000000..e9690f5 --- /dev/null +++ b/resources/views/mails/validate.blade.php @@ -0,0 +1,12 @@ + + + + + + Test Email + + +

Bonjour {{ $name }} {{ $lastname }},

+

Votre compte sur le site de gestion des bénévoles de l'assiocation des comitées des fêtes de Beaupont à été validé.

+ +