Wie konfiguriere ich Laravel mail.php für die Verwendung der integrierten Mail-Funktion?
Lesezeit: 3 Minuten
Oleg
Ich muss eine E-Mail über senden mail() PHP-Funktion. Ich habe irgendwo gelesen, dass ich wechseln muss driver Parameter in config/mail.php Zu sendmail.
Standardmäßig sieht es so aus:
'driver' => env('MAIL_DRIVER', 'smtp'),
Nun sieht es so aus:
'driver' => 'sendmail',
Habe auch Folgendes probiert:
'driver' => 'mail',
Aber trotzdem, die mail() Funktion funktioniert nicht. Was muss ich ändern?
Max Oriola
Um dasselbe wie die PHP-Funktion mail() zu tun, sollten Sie Laravel in den meisten Fällen wie folgt konfigurieren:
Verwenden Sie sendmail unter .env:
MAIL_DRIVER=sendmail
Wenn Sie Larvel 7 oder höher verwenden
MAIL_MAILER=sendmail
Laravel 7 ersetzt MAIL_DRIVER von MAIL_MAILER
Host, Benutzer, Passwort, Port und Verschlüsselung sind nicht erforderlich.
An dieser Stelle können Sie prüfen, ob es bereits funktioniert, aber manchmal ist auch der nächste Schritt erforderlich.
Legen Sie eine neue .env-Option in config/mail.php fest:
Legen Sie den Sendmail-Pfad in .env fest. Du kannst nachschauen sendmail_path bei phpinfo(), aber normalerweise ist es dieses hier:
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'
Das hier ist die richtige Antwort. Besonders dieser Leckerbissen bezüglich der Einstellung der Optionen auf „sendmail -t -i“ in meinem Fall. Ich hasse es, diese grundlegende PHP-Mail-Funktion verwenden zu müssen, aber in einem meiner Projekte bin ich dazu gezwungen … Danke.
– Chris
13. März 2018 um 19:36 Uhr
muss sein 'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs'), In config/mail.php wenn Sie es dort bearbeiten möchten. Vergessen Sie nicht die Anführungszeichen und das Schlusskomma
– Chris
13. März 2018 um 20:53
Notiere dass der sendmailDer Treiber erfordert PHP proc_open() Die Funktion ist aus Sicherheitsgründen nicht deaktiviert disabled_functions in ´php.ini`.
– Christopher K.
25. Okt. 2018 um 19:06 Uhr
Für Laravel 7 und höher verwenden Sie MAIL_MAILER=sendmail
– Erin
25. März 2021 um 11:14 Uhr
Hat jemand eine Lösung für die Verwendung von sendmail auf Windows-Rechnern?
– SiL3NC3
23. Februar 2022 um 8:03
Ikbel
Zur Nutzung des laufenden E-Mail-Servers localhostdein .env Datei sollte so aussehen (Die PHP mail Funktion benötigt weder einen Benutzernamen noch ein Passwort)
Vielen, vielen Dank, Freund!!! Ich habe so lange nach dieser Antwort gesucht und das ist schlecht, dass die offizielle Laravel-Dokumentation diese Informationen nicht enthält. Du bist der Beste, @lbel!
– Vaha
2. März 2018 um 8:54
Vielen Dank, genau wie @Vaha, ich konnte das nirgends finden. Ich habe stundenlang gesucht und nirgendwo steht, dass man es so verwenden soll.
– Stefan Teunissen
30. Dezember 2018 um 13:46 Uhr
Der php artisan config:cache-Teil ist wichtig, vergessen Sie ihn nicht wie ich!
– AdamJones
10. September 2019 um 13:36 Uhr
php artisan config:clear ist meiner Meinung nach der eigentliche Befehl, der ausgeführt werden sollte
– Arvind K.
11. Okt. 2019 um 6:20 Uhr
Für einen Localhost können Sie einfach so einrichten MAIL_DRIVER=log und es werden alle E-Mails in der Protokolldatei gedruckt. Sehr hilfreich!
– Mārcis P
22. März 2020 um 22:35 Uhr
Sie müssen Ihre E-Mail-Konfiguration in der .env-Datei festlegen. Hier müssen Sie Ihren gesamten Mail-Treiber und alle Details einstellen. Bitte sehen Sie sich diese Dokumentation an https://laravel.com/docs/5.0/mail
Der von Ihnen gepostete Link erklärt, wie man eine Reihe von API-Treibern konfiguriert, erklärt jedoch nicht, wie man sendmail konfiguriert, was wahrscheinlich der Grund ist, warum OP diese Frage gepostet hat.
– Hayden Bech
8. Dezember 2018 um 1:14
AddWeb Solution Pvt Ltd
Sie können Ihre E-Mail-Konfiguration festlegen .env Datei wie