Heim > Artikel > PHP-Framework > Wissen Sie, wie Laravel eine E-Mail sendet?
eingeleitet: „Wissen Sie, wie Laravel eine E-Mail ausgibt?“ 》Ich hoffe, es wird Freunden in Not helfen!
Im vorherigen Kapitel haben wir ein durchdachtes Formular und eine vollständige Datenüberprüfung für den E-Mail-Versand vorbereitet. In diesem Artikel erklären wir daher, wie man eine E-Mail innerhalb von Laravel sendet.
E-Mail ist sehr praktisch, bitte missbrauchen Sie es nicht.laravel integriert die beliebte und leistungsstarke SwiftMailer-Bibliothek, die die zugrunde liegende Logik kapselt, die zum Versenden von E-Mails für uns erforderlich ist, sodass wir uns nur auf die Sendelogik konzentrieren müssen, wie man den Inhalt vorbereitet die E-Mail Das ist es.
Die Standard-SMTP-Parameter in der Laravel-Konfigurationsdatei
config/mail.php:
'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'auth_mode' => null,],
werden hauptsächlich zur Angabe des Übertragungsprotokolls, der Hostadresse, der Portnummer, der Verschlüsselungsmethode, des Benutzernamens und des Passworts usw. verwendet. Aus Gründen im Ausland wird standardmäßig Mailgun als Mailserver verwendet, um zu vermeiden, dass E-Mails, die von unserem eigenen Mailserver gesendet werden, als Spam identifiziert werden und Geschäftsprozesse beeinträchtigen.
Registrieren Sie ein Konto mit kostenlosem Kontingent, das Ihnen jeden Monat die entsprechende Anzahl an E-Mails senden kann. Nach der Bewerbung können Sie den folgenden Code in der Konfigurationsdatei
app/services.phpsehen:
'mailgun' => [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),],
Wir deklarieren einfach die entsprechenden Variablen in der .env-Datei.
E-Mail-Versandklasse
zentralisiert die E-Mail-Versandlogik. Wir müssen die eingehenden Daten rendern und sie dann per E-Mail an den Benutzer senden.
php artisan make:mail ContactEmailDie generierte Datei befindet sich unter
und der anfängliche Inhalt lautet wie folgt:
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class ContactEmail extends Mailable { use Queueable, SerializesModels; public function __construct() { // } public function build() { return $this->view('view.name'); } }
Bei der Instanziierung müssen wir empfangen Einige Daten:
public $contact; public function __construct($contact){ $this->contact = $contact;}
give Das Versenden einer benutzerfreundlichen E-Mail kann die Benutzerbindung erheblich erhöhen. Bevor wir also die Ansicht zum Rendern der E-Mail verwenden: public function build(){
return $this->to(config('mail.from.address'))->subject('HackerPair Inquiry')->view('emails.contact');}
Erstellen Sie die Ansichtsdatei
und schreiben Sie kurz die Datendarstellung und das Format:
Hi, A Laravel user has sent you a message. Name: {{ $contact['name'] }} E-mail: {{ $contact['email'] }} Message: {{ $contact['msg'] }}
Senden Sie die E-Mail
In Im vorherigen Artikel haben wir die Variable $contact verwendet, um Feldwerte aus dem Anforderungshauptteil zu empfangen. Im vorherigen Abschnitt haben wir die Vorlage für den E-Mail-Versand vorbereitet. „Alles ist bereit, wir brauchen nur noch den Ostwind.“
in die Kopfzeile einzufügen, bevor Sie es verwenden:
Mail::to(config('mail.support.address'))->send(new ContactEmail($contact));
Ja, nur eine Zeile!
Am Ende geschrieben
Insgesamt ist es noch sehr einfach und alle Funktionen werden mit Hilfe von Drittanbietern implementiert.
Das obige ist der detaillierte Inhalt vonWissen Sie, wie Laravel eine E-Mail sendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!