add job to send mail to new user

This commit is contained in:
2020-08-14 23:32:44 +02:00
parent 3c35d688b7
commit 551cdc5dfc
5 changed files with 77 additions and 4 deletions

View File

@@ -2,12 +2,10 @@
namespace App\Http\Controllers;
use App\Mail\NewUserInvitation;
use App\Jobs\SendMailNewUserJob;
use App\User;
use App\Http\Resources\User as UserResource;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\Response;
@@ -27,7 +25,7 @@ class UserController extends Controller
request()['password'] = Hash::make(Str::random(30));
$user = User::create($this->validateData());
Mail::to($user->email)->send(new NewUserInvitation($user));
SendMailNewUserJob::dispatch($user);
return (new UserResource($user))
->response()

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Jobs;
use App\Mail\NewUserInvitation;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
class SendMailNewUserJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private $user;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to($this->user->email)->send(new NewUserInvitation($this->user));
}
}