create and send an email on account validate
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Events\UserCreated;
|
use App\Events\UserCreated;
|
||||||
|
use App\Mail\TestMail;
|
||||||
|
use App\Mail\ValidateMail;
|
||||||
use App\Models\Notification;
|
use App\Models\Notification;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||||
@@ -12,6 +14,7 @@ use Illuminate\Support\Facades\Gate;
|
|||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use App\Services\UserService;
|
use App\Services\UserService;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Pest\Support\Str;
|
use Pest\Support\Str;
|
||||||
use Propaganistas\LaravelPhone\PhoneNumber;
|
use Propaganistas\LaravelPhone\PhoneNumber;
|
||||||
|
|
||||||
@@ -193,6 +196,13 @@ class UserController extends Controller
|
|||||||
$user->verified_at = now();
|
$user->verified_at = now();
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'name' => $user->name,
|
||||||
|
'lastname' => $user->lastname,
|
||||||
|
];
|
||||||
|
Mail::to($user->email)->send(new ValidateMail($data));
|
||||||
|
|
||||||
return response()->json(['message' => 'User validated successfully']);
|
return response()->json(['message' => 'User validated successfully']);
|
||||||
|
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Mail\Mailables\Content;
|
||||||
|
use Illuminate\Mail\Mailables\Envelope;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
class ValidateMail extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
public $data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*/
|
||||||
|
public function __construct($data)
|
||||||
|
{
|
||||||
|
$this->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<int, \Illuminate\Mail\Mailables\Attachment>
|
||||||
|
*/
|
||||||
|
public function attachments(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Test Email</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Bonjour {{ $name }} {{ $lastname }},</h1>
|
||||||
|
<p>Votre compte sur le site de gestion des bénévoles de l'assiocation des comitées des fêtes de Beaupont à été validé.</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user