Les mails avec Laravel

Générer un mailable : php artisan make:mail UserRegistred app/http/mail dans build, s'il y a une adresse mail pour chaque mail alors : S'il y a une adresse mail globale dans config mail, il faut ajouter : 'from' => ['address' => 'example@example.com', 'name' => 'App Name'], Dans le controlle concerné, ici user


public function mailconfirmation(){
    Mail::to("test@mail.com")->send(new UserRegistred());
    return view("home");

}


dans le mail/UserRegitred
/**
     * Build the message.
     *
     * @return $this
     */
     public function build()
     {
         return $this
         ->subject("Confitmation inscription")
         ->from("example@example.com", "Example")
                 ->view("emails.users.registered");
     }

     
si on veut inclure des variables dans le mail on passe des variables depuis le controllerUser ou d'envoi Mail::to()->send(new UserRegistered($user)) d le construct du Mail/UserRegistred $this ->data = $user; qu'on lie à une variable public $data = []; dans la view emails/users/registered

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <h1>Confirmation d'inscription</h1>
</body>
</html>
Et faire une route aevc return view // Envoi de mail Route::get('/confirmation', [UserController::class, 'mailconfirmation'])->name('confirmation'); Pour résumer : On créé un construct de mailsender il n'y a pas de compact ou with