====== E-Mails mit Laravel versenden ====== Um E-Mails mit Laravel zu verwenden können ebenfalls, wie für die Erstellung der Webseiten, blade-Templates verwendet werden. **Voraussetzung** In der Konfigurationsdatei ".env" müssen die Mail-Variablen gesetzt werden: MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null **Beispiel für die Erstellung einer E-Mail-Vorlage** Mit [[artisan|Artisan]] kann nun eine Mail-Klasse im Verzeichns "app/Mail" angelegt werden: php artisan make:mail Auszahlungswunsch Die Methode "build" in der neuen Mail-Klasse kann je nach Anwendungsfall ergänzt werden. Um Variablen später im Blade-Template einsetzen zu können müssen Sie in der Klasse als "public" deklariert werden: class Auszahlungswunsch extends Mailable { use Queueable, SerializesModels; public $vorname = ''; public $nachname = ''; public function build() { $mitspieler = HomeController::getMitspieler(); $this->vorname = $mitspieler->Vorname; $this->nachname = $mitspieler->Nachname; $this->subject = 'Auszahlungswunsch vom Mitspieler'; $this->from( 'absender@meine-domain.de', 'Absendername'); return $this->view('mails.auszahlungswunsch'); } } Als nächstes wird das blade-Template (z. B. "auszahlungswunsch" im Unterverzeichns view/mails") angelegt:

Guten Tag,

Ihr Mitspieler {{ $vorname }} {{ $nachname }} möchte gerne sein Konto ausgezahlt bekommen

Diese E-Mail wurde automatisch erstellt.

Jetzt kann die neue E-Mail-Vorlage in einem Controller aufgerufen und benutzt werden: public function auszahlungswunsch( Request $request ) { $email = new Auszahlungswunsch(); Mail::to( 'empfaenger@domain.de' ) -> send( $email ); return $this->view(); }