From 34a23462fcc77423ecea424d3506bb29349dc2b0 Mon Sep 17 00:00:00 2001 From: Arthur Monney Date: Wed, 15 Dec 2021 09:54:29 +0100 Subject: [PATCH] :sparkles: ajout de l'envoie de lien a tous les utilisateurs non verifiees --- app/Console/Commands/SendUnVerifiedMails.php | 22 ++++++++++++++ app/Console/Kernel.php | 1 + app/Mail/SendMailToUnVerifiedUsers.php | 29 +++++++++++++++++++ app/Models/User.php | 5 ++++ resources/views/emails/new_reply.blade.php | 2 +- .../send-mail-to-un-verified-users.blade.php | 16 ++++++++++ 6 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 app/Console/Commands/SendUnVerifiedMails.php create mode 100644 app/Mail/SendMailToUnVerifiedUsers.php create mode 100644 resources/views/emails/send-mail-to-un-verified-users.blade.php diff --git a/app/Console/Commands/SendUnVerifiedMails.php b/app/Console/Commands/SendUnVerifiedMails.php new file mode 100644 index 00000000..1b1ce6bd --- /dev/null +++ b/app/Console/Commands/SendUnVerifiedMails.php @@ -0,0 +1,22 @@ +get() as $user) { + Mail::to($user)->send(new SendMailToUnVerifiedUsers($user)); + } + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 9816ef60..2b28a375 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -28,6 +28,7 @@ protected function schedule(Schedule $schedule) $schedule->command('lcm:delete-old-unverified-users')->daily(); // $schedule->command('lcm:post-article-to-twitter')->twiceDaily(12, 16); $schedule->command('lcm:post-article-to-telegram')->everyFourHours(); + $schedule->command('lcm:send-unverified-mails')->weeklyOn(1, '8:00'); $schedule->command('sitemap:generate')->daily(); } diff --git a/app/Mail/SendMailToUnVerifiedUsers.php b/app/Mail/SendMailToUnVerifiedUsers.php new file mode 100644 index 00000000..f909008f --- /dev/null +++ b/app/Mail/SendMailToUnVerifiedUsers.php @@ -0,0 +1,29 @@ +subject('Vérification Email') + ->markdown('emails.send-mail-to-un-verified-users'); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 2509be92..b40fc989 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -247,6 +247,11 @@ public function scopeVerifiedUsers(Builder $query): Builder return $query->whereNotNull('email_verified_at'); } + public function scopeUnVerifiedUsers(Builder $query): Builder + { + return $query->whereNull('email_verified_at'); + } + /** * Retrieve a setting with a given name or fall back to the default. */ diff --git a/resources/views/emails/new_reply.blade.php b/resources/views/emails/new_reply.blade.php index 73bb95a5..968b6534 100644 --- a/resources/views/emails/new_reply.blade.php +++ b/resources/views/emails/new_reply.blade.php @@ -6,7 +6,7 @@ {{ $reply->excerpt(200) }} @endcomponent - @component('mail::button', ['url' => route('forum.show', $reply->replyAble->slug())]) + @component('mail::button', ['url' => route('forum.show', $reply->replyAble->slug()), 'color' => 'green']) Voir le sujet @endcomponent diff --git a/resources/views/emails/send-mail-to-un-verified-users.blade.php b/resources/views/emails/send-mail-to-un-verified-users.blade.php new file mode 100644 index 00000000..54f831cc --- /dev/null +++ b/resources/views/emails/send-mail-to-un-verified-users.blade.php @@ -0,0 +1,16 @@ +@component('mail::message') + + Bonjour **{{ $user->name }}**, + + Vous recevez ce mail parce que vous avez créé votre compte sur Laravel Cameroun {{ $user->created_at->diffForHumans() }}, + et a ce jour vous n'avez pas encore vérifié votre adresse mail. + + Pour éviter toute suppression de votre compte il vous reste {{ $user->created_at->addDays(10)->diffInDays(now()) }} jour(s) pour valider votre adresse email. + + @component('mail::button', ['url' => route('verification.notice'), 'color' => 'green']) + Renvoyer le lien + @endcomponent + + Merci d'utiliser Laravel Cameroun,
+ {{ config('app.name') }} +@endcomponent