2015-08-07 14 views

Odpowiedz

34

W pliku .env trzeba będzie ustawić adres e-mail i hasło do konta e-mail. Musisz także ustawić host i port serwera pocztowego, którego używasz.

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

lub upewnij się, że wszystko jest kompletne w pliku mail.php (patrz uwaga poniżej).

'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'), 

Uwaga: Lepiej użyć pliku .env, jak najprawdopodobniej będzie mieć inną konfigurację w środowisku produkcyjnym.

Jeśli wszystko jest ukończone i nadal nie działa, może to być buforowanie. Można wyczyścić pamięć podręczną config z tym:

php artisan config:cache 

pamiętać również:

  • Port 465 jest Gmail. Jeśli to nie zadziała, możesz użyć 25.
  • Plik mail.php znajduje się pod adresem /app/config/mail.php (zgodnie z OP).
  • Plik .env znajduje się w katalogu głównym projektu.
  • Mailtrap.io to usługa do testowania SMTP. To tak naprawdę nie wysyła e-maili.

Jak Viktorminator wymienić: Weźmy pod uwagę tworzenia haseł do aplikacji, a nie za pomocą zwykłego przepustkę do tego potrzebuje. Link do tworzenia haseł myaccount.google.com/apppasswords

+0

starałem się używać mailtrap.io usługę z tej konfiguracji i to nie działa.Problem polegał na tym, że nie powinieneś zmieniać tej linii: 'from' => ['address' => '[email protected]', 'name' => 'hawle'], –

+0

@GergelyHavlicsek Mailtrap służy do celów testowych Jeśli chcesz wysyłać wiadomości do innych osób, powinieneś użyć własnego konta e-mail i zmienić konfigurację na smtp, z którego korzysta Twój dostawca, na przykład Google używa smtp.gmail.com. Jeśli używasz prawdziwego smtp, będziesz również musiał użyć prawdziwych referencji. – Szenis

+0

Musisz również uruchomić polecenie 'php artisan config: clear' –

13

Upewnij się ustawić 'z' w app/config/mail.php

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

będzie rozwiązać problem.

+5

Następnie wykonaj "php artisan config: cache". – pbalazek

+2

@pbwned Twój komentarz uratował mnie przed wyciągnięciem moich włosów –

2

Jeśli nie masz dostępu do pliku .env, można dodać do tych wartości domyślnych env wzywa app/config/mail.php, tak:

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

Takie podejście będzie próbował pobierz dane z pliku .env, jeśli nic tam nie ma, domyślnie ustawi to, co ustawisz.

-1

Plik: /bootstrap/cache/config.php
zmian:

'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', 
Powiązane problemy