Wie versende ich E-Mails mit Laravel

Im Prinzip ist schon alles vorbereitet. Am besten Du verwendest die .env Datei und lässt das mail.php im config Verzeichnis in Ruhe. Das ist einfach deswegen, weil das Passwort dort reingeschrieben werden muss und die .env NICHT ins Git kopiert wird. (NIEMALS PASSWÖRTER IM GIT!)

Verschiedene Möglichkeiten

Postfix

Wenn Du auf Deinem System schon Postfix installiert und konfiguriert hast kannst Du in deinem Laravel Projekt einfach alle MAIL_ Direktiven löschen und lediglich den Mailer und den FROM_NAME eintragen:

MAIL_MAILER=sendmail
MAIL_FROM_NAME="Laravel Mail"

Sendgrid

Sendgrid ist bis zu 1000 Email pro Tag gratis (!) und hat einige gute Sicherheitsmerkmale.

Einfach anmelden und die Credentials im .env file konfigurieren

MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=465
MAIL_USERNAME=apikey

MAIL_PASSWORD=XX.XXXXXXXXX-XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=your@mailfrom_address.com
MAIL_FROM_NAME="${APP_NAME}"

Gmail ohne two-factor-authentication

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=deineemail@gmail.com
MAIL_PASSWORD=deinEmailPasswort

MAIL_ENCRYPTION=ssl

Testen

Die einfachste Methode E-Mails unter Laravel zu versenden ist der Raw-Modus:

Mail::raw('Text im Mail Body.', function ($message) {
   $message->to('deinemail@deinedomain.com');
   $message->subject("Dies ist das Subject");
});

Schreibe einen Kommentar