добавлена отправка почтовых писем (прототип)

This commit is contained in:
xreiway
2025-12-03 17:43:29 +00:00
parent beecb48c94
commit 73e2d563ac
3 changed files with 71 additions and 9 deletions

View File

@@ -2,11 +2,14 @@
namespace App\Http\Controllers;
use App\Mail\RegisterUserMail;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
use Illuminate\Support\Facades\Mail;
class UsersController extends Controller
{
@@ -22,6 +25,10 @@ class UsersController extends Controller
$user->password = $password;
$user->save();
dispatch(function() use ($user) {
Mail::to($user->email)->send(new RegisterUserMail($user->name));
});
$token = $user->createToken('frontend');
return ['token' => $token->plainTextToken];
@@ -36,20 +43,11 @@ class UsersController extends Controller
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
// throw ValidationException::withMessages([
// 'response' => ['Данные для входа неверны.'],
// ]);
return ['response' => 'Данные для входа неверны.'];
}
$token = $user->createToken('frontend');
return ['response' => 'Успешно!','token' => $token->plainTextToken];
// if (Auth::attempt($credentials)) {
// return ['response' => 'Logged in!'];
// }
// return ['response' => 'Error!'];
}
}

View File

@@ -0,0 +1,53 @@
<?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 RegisterUserMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*/
public function __construct()
{
//
}
/**
* Get the message envelope.
*/
public function envelope(): Envelope
{
return new Envelope(
subject: 'Register User Mail',
);
}
/**
* Get the message content definition.
*/
public function content(): Content
{
return new Content(
view: 'emails.register',
);
}
/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [];
}
}

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Добро пожаловать! {{ $name }} </h1>
</body>
</html>