Laravel 8 Mail : La méthode simple pour envoyer des mail en Laravel 8 - Letecode

Laravel 8 Mail : La méthode simple pour envoyer des mail en Laravel 8

Dans ce tutoriel, vous allez apprendre avec exemple, l'envoi d'e-mail en laravel 8 en utilisant votre compte Gmail et le smtp

Jean Claude Mbiya
Jean Claude Mise à jour : 21 décembre 2022 4798

Laravel 8 fournit une classe de Mail pour envoyer des e-mails. vous pouvez utiliser plusieurs drivers pour envoyer des e-mails dans laravel 8.

voici les différents drivers (pilotes) : smtp, Mailgun, Postmark, Amazon SES et sendmail. vous devez configurer le fichier .env pour spécifier quel pilote vous souhaitez utiliser.

Dans cet article, je vais vous donner des instructions étape par étape pour envoyer un e-mail dans laravel 8. vous pouvez créer une vue blade et également avec des informations dynamiques pour la mise en page du courrier. Voyons donc le guide étape par étape et envoyons un e-mail avec une méthode simple.

Configuration

Tout d'abord, vous devez ajouter la configuration d'envoi de courrier avec le pilote de messagerie (DRIVER), l'hôte de messagerie (HOST), le port de messagerie (PORT), le nom d'utilisateur de messagerie (USERNAME), le mot de passe de messagerie (PASSWORD) afin que laravel 8 utilise ces détails d'expéditeur dans l'e-mail. Vous pouvez donc simplement ajouter comme suit :

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=motdepasse
MAIL_CRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"

Créer un Mail

Dans cette étape, nous allons créer la classe de courrier ContactMail pour l'envoi d'e-mails. Ici, nous écrirons le code pour lequel la vue appellera et l'objet de l'utilisateur. Exécutons donc la commande ci-dessous.

php artisan make:mail ContactMail

Puis ajouter les codes manquants :

app/Mail/ContactMail.php

<?php


namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class ContactMail extends Mailable
{
    use Queueable, SerializesModels;

  public $contenu;

  /**
   * Create a new message instance.
   *
   * @return void
   */
    public function __construct($contenu)
    {

        $this->contenu = $contenu;

    }

 
  /**
   * Build the message.
   *
   * @return $this
   */
  public function build()
  {
        return $this->subject('Mail de Letecode.com')

                  ->view('mail.contact-mail');
  }
}

 

Créer la Vue (Blade)

 Créons maintenant un fichier blade dans lequel nous allons écrire l'e-mail que nous voulons envoyer. maintenant nous écrivons juste un texte factice. créez les fichiers ci-dessous dans le dossier "views/mail".

ressources/vues/mail/contact-mail.blade.php

<!DOCTYPE html>
<html>
<head>
  <title>Letecode.com </title>
</head>
<body>
  <h1> {{ $contenu['titre'] }} </h1>
  <p> {{ $contenu['body'] }} </p>

    <p> Merci !</p>

</body>
</html>

A lire aussi : Comment utiliser/afficher une variable dans le template blade ?

Ajouter une route

Maintenant créons donc une route Web ci-dessous pour tester l'envoi d'e-mails.

routes/web.php

Route::get('send-mail', function () {   

    $contenu = [

      'title' => 'Mail depuis Letecode.com',
        'body' => 'Ce mail est pour tester l'envoi de mail depuis laravel'

    ];   

    \Mail::to('[email protected]')->send(new \App\Mail\ContactMail($contenu));   

  dd("Email envoyé avec succès.");

});

 

Allons tester notre mail, lancer l'application

php artisan serve

et aller sur la route 

http://localhost:8000/send-mail

Résultat :

laravel mail

 

2
Jean Claude Mbiya
Jean Claude Mbiya

Développeur Web full stack, Développeur Android (Certifié Google AAD) Formateur dans les domaines du numérique, Créateur letecode.com 👨‍💻. Je suis un grand passionné des nouvelles technologies et j'adore partager ce que j'apprend.

0 commentaire(s)

Laissez votre commentaire à @johnmbiya

ou pour laisser un commentaire