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. |
Im dritten Argument hat der $callback-Abschluss eine Nachrichteninstanz empfangen und mit dieser Instanz können wir auch die folgenden Funktionen aufrufen und die Nachricht wie unten gezeigt ändern.
Zu den weniger gebräuchlichen Methoden gehören −
Um Dateien anzuhängen oder einzubetten, können Sie die folgenden Methoden verwenden −
Mail kann als HTML oder Text gesendet werden. Sie können im ersten Argument die Art der E-Mail angeben, die Sie senden möchten, indem Sie ein Array wie unten gezeigt übergeben. Der Standardtyp ist HTML. Wenn Sie Nur-Text-Mails senden möchten, verwenden Sie die folgende Syntax.
Mail::send([‘text’=>’text.view’], $data, $callback);
In dieser Syntax nimmt das erste Argument ein Array an. Verwenden Sie Text als Schlüsselnamen der Ansicht als Wert des Schlüssels.
Schritt 1 – Wir senden jetzt eine E-Mail vom Gmail-Konto und dafür müssen Sie Ihr Gmail-Konto in der Laravel-Umgebungsdatei - .env-Datei konfigurieren. Aktivieren Sie die Bestätigung in zwei Schritten in Ihrem Gmail-Konto und erstellen Sie ein anwendungsspezifisches Passwort. Anschließend ändern Sie die .env-Parameter wie unten gezeigt.
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
Schritt 2 − Nachdem Sie die Datei .env geändert haben, führen Sie die beiden folgenden Befehle aus, um den Cache zu leeren und den Laravel-Server neu zu starten.
php artisan config:cache
Schritt 3 - Erstellen Sie einen Controller namens Laravel – E-Mail senden, indem Sie den folgenden Befehl ausführen.
php artisan make:controller Laravel – E-Mail senden --plain
Schritt 4 − Nach erfolgreicher Ausführung erhalten Sie folgende Ausgabe −
Schritt 5 − Kopieren Sie den folgenden Code in
app/Http/Controllers/Laravel – E-Mail senden.php Datei.
app/Http/Controllers/Laravel – E-Mail senden.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Mail; use App\Http\Requests; use App\Http\Controllers\Controller; class Laravel – E-Mail senden 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."; } }
Schritt 6 - Kopieren Sie den folgenden Code in die Datei resources/views/mail.blade.php.
resources/views/mail.blade.php
<h1>Hi, {{ $name }}</h1> l<p>Sending Mail from Laravel.</p>
Schritt 7 − Fügen Sie die folgenden Zeilen in app/Http/routes.php.
hinzuapp/Http/routes.php
Route::get('sendbasicemail','Laravel – E-Mail senden@basic_email'); Route::get('sendhtmlemail','Laravel – E-Mail senden@html_email'); Route::get('sendattachmentemail','Laravel – E-Mail senden@attachment_email');
Schritt 8 – Besuchen Sie die folgende URL, um grundlegende E-Mails zu testen.
http://localhost:8000/sendbasicemail
Schritt 9 − Der Ausgabebildschirm sieht in etwa so aus. Überprüfen Sie Ihren Posteingang, um die grundlegende E-Mail-Ausgabe zu sehen.
Schritt 10 − Besuchen Sie die folgende URL, um die HTML-E-Mail zu testen.
http://localhost:8000/sendhtmlemail
Schritt 11 − Der Ausgabebildschirm sieht in etwa so aus. Überprüfen Sie Ihren Posteingang, um die HTML-E-Mail-Ausgabe zu sehen.
Schritt 12 − Besuchen Sie die folgende URL, um die HTML-E-Mail mit Anhang zu testen.
http://localhost:8000/sendattachmentemail
Schritt 13 − Sie können die folgende Ausgabe sehen
Hinweis − In der Datei Laravel – E-Mail senden.php sollte die E-Mail-Adresse in der From-Methode die E-Mail-Adresse sein, von der aus Sie E-Mail-Adressen senden können. Im Allgemeinen sollte es sich um die auf Ihrem Server konfigurierte E-Mail-Adresse handeln.
Das obige ist der detaillierte Inhalt vonLaravel – E-Mail senden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!