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
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 :
Posts similaires
Laravel 9 : Quoi de neuf dans cette nouvelle version du framework ?
18 astuces pour optimiser vos requêtes de base de données avec Laravel
Release : Sortie de Laravel 8.79
Comment héberger un projet Laravel sur un hébergement partagé ou Cpanel ?
Catégories
Soyez au courant des dernières tendances
Abonnez-vous pour obtenir les meilleurs articles, tutoriels, astuces et informations !
Laissez votre commentaire à @johnmbiya