2015-08-07 4 views

Antwort

34

In Ihrer .env Datei benötigen Sie die E-Mail-Adresse und das Passwort Ihres E-Mail-Konto eingerichtet werden soll. Sie müssen außerdem den Host und den Port des verwendeten Mail-Servers festlegen.

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=25 
MAIL_USERNAME= ***USER NAME*** 
MAIL_PASSWORD= ***PASSWORD*** 
MAIL_ENCRYPTION=tls 

Oder stellen Sie sicher, dass alles in Ihrer mail.php Datei abgeschlossen ist (siehe Hinweis unten).

'host' => env('MAIL_HOST', 'smtp.gmail.com'), 
/* 
|-------------------------------------------------------------------------- 
| SMTP Host Port 
|-------------------------------------------------------------------------- 
| 
| This is the SMTP port used by your application to deliver e-mails to 
| users of the application. Like the host we have set this value to 
| stay compatible with the Mailgun e-mail application by default. 
| 
*/ 
'port' => env('MAIL_PORT', 25), 
/* 
|-------------------------------------------------------------------------- 
| Global "From" Address 
|-------------------------------------------------------------------------- 
| 
| You may wish for all e-mails sent by your application to be sent from 
| the same address. Here, you may specify a name and address that is 
| used globally for all e-mails that are sent by your application. 
| 
*/ 
'from' => ['address' => '[email protected]', 'name' => 'hawle'], 
/* 
|-------------------------------------------------------------------------- 
| E-Mail Encryption Protocol 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the encryption protocol that should be used when 
| the application send e-mail messages. A sensible default using the 
| transport layer security protocol should provide great security. 
| 
*/ 
'encryption' => env('MAIL_ENCRYPTION', 'tls'), 

Hinweis: Es ist besser, die .env Datei zu verwenden, da Sie höchstwahrscheinlich eine andere Konfiguration in der Produktionsumgebung haben.

Wenn alles fertig ist und es immer noch nicht funktioniert, könnte es Caching sein. Sie können die Config-Cache mit diesem löschen:

php artisan config:cache 

Beachten Sie auch:

  • Port 465 für Gmail ist. Wenn es nicht funktioniert, können Sie 25 verwenden.
  • Die mail.php Datei befindet sich unter /app/config/mail.php (wie OP sagte).
  • Die Datei .env befindet sich im Stammverzeichnis Ihres Projekts.
  • Mailtrap.io ist ein Dienst zum Testen von SMTP. Es sendet keine E-Mails.

Wie Viktorminator erwähnt: Berücksichtigen App Erstellen von Passwörtern und nicht den üblichen Pass hierfür benötigt werden. Link zum Erstellen von Passwörtern myaccount.google.com/apppasswords

+0

Ich habe versucht, mailtrap.io Service mit diesem Setup zu verwenden, und es hat nicht funktioniert.Das Problem war, ich denke, dass Sie diese Zeile nicht ändern sollten 'von' => ['Adresse' => '[email protected]', 'Name' => 'Hawle'], –

+0

@GergelyHavlicsek Mailtrap ist für Testzwecke , Wenn Sie E-Mails an andere Personen senden möchten, sollten Sie Ihr eigenes E-Mail-Konto verwenden und die Konfiguration in das SMTP ändern, das Ihr Provider verwendet, zum Beispiel Google verwendet smtp.gmail.com. Wenn Sie einen echten SMTP verwenden, müssen Sie auch echte Anmeldeinformationen verwenden. – Szenis

+0

Auch Sie müssen diesen Befehl ausführen 'php artisan config: clear' –

13

Vergewissern Sie sich gesetzt haben, die 'von' in app/config/mail.php

'from' => ['address' => '[email protected]', 'name' => 'myname'] 

Es behebt das Problem.

+5

Und tun 'php artisan config: cache' danach. – pbalazek

+2

@pbwned Ihr Kommentar hat mich davor bewahrt, meine Haare auszuziehen –

2

Wenn Sie keinen Zugriff auf die .env Datei haben, können Sie die Standardwerte für diejenigen env fordert app/config/mail.php, wie folgt hinzufügen:

'from' => ['address' => env('MAIL_FROM_EMAIL','[email protected]'), 'name' => env('MAIL_FROM_NAME','SpongeBob')], 

Dieser Ansatz wird versuchen, Holen Sie sich die Daten aus der .env-Datei, wenn dort nichts ist, wird es standardmäßig auf was auch immer Sie setzen.

-1

Die Datei: /bootstrap/cache/config.php
Die Änderung:

'mail' => array(
      'driver' => 'smtp', 
      'host' => 'mail.yourserversiteemail.com', 
      'port' => '25', 
      'from' => 
      array(
       'address' => '[email protected]', 
       'name' => 'sd', 
      ), 
      'encryption' => 'tls', 
      'username' => 'yourUsername', 
      'password' => 'yourPass', 
      'sendmail' => '/usr/sbin/sendmail -bs', 
Verwandte Themen