Laravel nutzt die kostenlose, funktionsreiche Bibliothek SwiftMailer zum Versenden von E-Mails. Mit der Bibliotheksfunktion können wir ganz einfach und ohne großen Aufwand E-Mails versenden. Die E-Mail-Vorlagen werden auf die gleiche Weise wie Ansichten geladen, was bedeutet, dass Sie die Blade-Syntax verwenden und Daten in Ihre Vorlagen einfügen können.
Die folgende Tabelle zeigt die Syntax und Attribute der send-Funktion −
Syntax | void send(string|array $view, array $data, Closure|string $callback) |
Parameter |
|
Rückgaben | nichts |
Beschreibung | Sendet E-Mail. |
Dans le troisième argument, l'instance de message reçue par fermeture $callback et avec cette instance, nous pouvons également appeler les fonctions suivantes et modifier le message comme indiqué ci-dessous.
Certaines des méthodes les moins courantes incluent −
Pour joindre ou intégrer des fichiers, vous pouvez utiliser les méthodes suivantes −
Le courrier peut être envoyé au format HTML ou texte. Vous pouvez indiquer le type de courrier que vous souhaitez envoyer dans le premier argument en passant un tableau comme indiqué ci-dessous. Le type par défaut est HTML. Si vous souhaitez envoyer du courrier en texte brut, utilisez la syntaxe suivante.
Mail::send([‘text’=>’text.view’], $data, $callback);
Dans cette syntaxe, le premier argument prend un tableau. Utilisez text comme nom de clé de la vue comme valeur de la clé.
Étape 1 − Nous allons maintenant envoyer un e-mail depuis le compte Gmail et pour cela, vous devez configurer votre compte Gmail dans le fichier d'environnement Laravel - .env. Activez la vérification en 2 étapes dans votre compte Gmail et créez un mot de passe spécifique à l'application, puis modifiez les paramètres .env comme indiqué ci-dessous.
MAIL_DRIVER = smtp MAIL_HOST = smtp.gmail.com MAIL_PORT = 587 MAIL_USERNAME = your-gmail-username MAIL_PASSWORD = your-application-specific-password MAIL_ENCRYPTION = tls
Étape 2 - Après avoir modifié le fichier .env, exécutez les deux commandes ci-dessous pour vider le cache et redémarrer le serveur Laravel.
php artisan config:cache
Étape 3 - Créez un contrôleur appelé Laravel - Envoi de-mail en exécutant la commande suivante.
php artisan make:controller Laravel - Envoi de-mail --plain
Étape 4 − Après une exécution réussie, vous recevrez le résultat suivant −
Étape 5 − Copiez le code suivant dans
app/Http/Controllers/Laravel - Envoi de-mail.php fichier.
app/Http/Controllers/Laravel - Envoi de-mail.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Mail; use App\Http\Requests; use App\Http\Controllers\Controller; class Laravel - Envoi de-mail extends Controller { public function basic_email() { $data = array('name'=>"Virat Gandhi"); Mail::send(['text'=>'mail'], $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Basic Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Basic Email Sent. Check your inbox."; } public function html_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel HTML Testing Mail'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "HTML Email Sent. Check your inbox."; } public function attachment_email() { $data = array('name'=>"Virat Gandhi"); Mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'Tutorials Point')->subject ('Laravel Testing Mail with Attachment'); $message->attach('C:\laravel-master\laravel\public\uploads\image.png'); $message->attach('C:\laravel-master\laravel\public\uploads\test.txt'); $message->from('xyz@gmail.com','Virat Gandhi'); }); echo "Email Sent with attachment. Check your inbox."; } }
Étape 6 - Copiez le code suivant dans le fichier resources/views/mail.blade.php.
resources/views/mail.blade.php
<h1>Hi, {{ $name }}</h1> l<p>Sending Mail from Laravel.</p>
Étape 7 − Ajoutez les lignes suivantes dans app/Http/routes.php.
app/Http/routes.php
Route::get('sendbasicemail','Laravel - Envoi de-mail@basic_email'); Route::get('sendhtmlemail','Laravel - Envoi de-mail@html_email'); Route::get('sendattachmentemail','Laravel - Envoi de-mail@attachment_email');
Étape 8 - Visitez l'URL suivante pour tester le courrier électronique de base.
http://localhost:8000/sendbasicemail
Étape 9 - L'écran de sortie ressemblera à ceci. Vérifiez votre boîte de réception pour voir le résultat de base des e-mails.
Étape 10 - Visitez l'URL suivante pour tester l'e-mail HTML.
http://localhost:8000/sendhtmlemail
Étape 11 - L'écran de sortie ressemblera à ceci. Vérifiez votre boîte de réception pour voir la sortie de l'e-mail HTML.
Étape 12 - Visitez l'URL suivante pour tester l'e-mail HTML avec pièce jointe.
http://localhost:8000/sendattachmentemail
Étape 13 − Vous pouvez voir le résultat suivant
Remarque - Dans le fichier Laravel - Envoi de-mail.php, l'adresse e-mail dans la méthode from doit être l'adresse e-mail à partir de laquelle vous pouvez envoyer une adresse e-mail. Généralement, il doit s'agir de l'adresse e-mail configurée sur votre serveur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!