Der Mailer durch den Mailer Service Provider definiert ist, können Sie die Registrierung in Ihrem config/app.php
unter 'providers'
sehen, wo Sie dies sehen:
\Illuminate\Mail\MailServiceProvider::class,
Also, alles, was Sie tun müssen, ist entfernen die MailServiceProvider-Registrierung und erstellen Sie Ihren eigenen Provider basierend auf diesem mit Ihren Änderungen und registrieren Sie Ihre.
Stellen Sie sicher, dass Sie den Illuminate\Contracts\Mail\Mailer
Vertrag implementieren.
Aber Sie müssen nicht!
Der Mailer, der mit Laravel kommt, unterstützt bereits das Senden der HTML- und Plain-Versionen Ihrer E-Mail.
Das erste Argument der Mailer::send()
Methode ist @param string|array $view
, wo Sie in der Regel den Namen der Ansicht der HTML-Version Ihrer E-Mail senden, aber Sie können stattdessen ein Array wie folgt senden ...
Mailer::send([
'html' => 'my-mails.notification-in-html',
'text' => 'my-mails.notification-in-text',
], $data, $callback);
Wo könnte man Definieren Sie sogar einen anderen Text und entfernen Sie Dinge, die Sie nicht in Ihre Klartextversion einfügen würden, oder passen Sie eine andere Signatur an, die auf einer einfachen Ebene gut aussieht, und formatieren Sie die Dinge auch anders.
Für weitere Informationen können Sie die parseView()
in Illuminate\Mail\Mailer
Klasse betrachten. So
, da haben Sie es, 2 Möglichkeiten:
- Ihre eigene Mailer erstellen und registrieren Sie es anstelle des Standard ein
- oder rufen Sie einfach den Mailer mit einer Reihe von Ansichten.