Heim >PHP-Framework >Laravel >Wissen Sie, wie Laravel eine E-Mail sendet?

Wissen Sie, wie Laravel eine E-Mail sendet?

藏色散人
藏色散人nach vorne
2020-10-16 14:16:492240Durchsuche

eingeleitet: „Wissen Sie, wie Laravel eine E-Mail ausgibt?“ 》Ich hoffe, es wird Freunden in Not helfen!

Einführung

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.

Codierungszeit

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.php

sehen:

'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.

Verwenden Sie den folgenden Befehl, um die E-Mail-Verarbeitungsklasse zu generieren:
php artisan make:mail ContactEmail
Die generierte Datei befindet sich unter

app/Mail/ContactEmail.php

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

resources/views/emails/contact.blade.php

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.“

Denken Sie daran,

AppMailContactEmail

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.

Zum Beispiel verfügt der Mailserver über viele anpassbare Methoden. Es gibt auch einen E-Mail-Versandkurs, mit dem Sie viele individuelle Vorlagen erstellen können Das sind alles detaillierte Aspekte.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen