2016-08-02 23 views
0

Ich folgte dem Tutorial auf this site, um mir zu helfen, E-Mail-Verifizierung für neue Benutzer zu erstellen. Ich erhalte die Fehlermeldung:Laravel 5.2 E-Mail-Verifizierungsfehler

FatalErrorException in ActivationService.php line 66: 
Call to a member function getActivation() on null 

Hier die routes.php ist:

Route::auth(); 
Route::get('user/activation/{token}', 'Auth\[email protected]')->name('user.activate'); 
Route::get('/', '[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 
Route::get('/home', '[email protected]'); 

hier ist die .env Datei

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.mailgun.org 
MAIL_FROM=*from address given by mailgun* 
MAIL_NAME=CompanyName 
MAIL_PORT=587 
MAIL_USERNAME=*Mailgun username* 
MAIL_PASSWORD=*Mailgun password* 
MAIL_ENCRYPTION=tls 

MAILGUN_DOMAIN=*mailgun domain* 
MAILGUN_SECRET=*secret key* 

Alles andere den Code getan wurde nach im Tutorial gegeben. Bitte beachten Sie den Code there, da mein Code für die Klassen gleich ist.

+0

Wann passiert das? Wenn sich ein neuer Benutzer anmeldet oder wenn ein nicht aktivierter Benutzer sich anmeldet? – Makan

+0

Wenn ein neuer Benutzer registriert. Es macht trotzdem einen Eintrag in die SQL-Datenbank, trotz des Fehlers. – omrakhur

+0

Initiieren Sie im ActivationService-Klassenkonstruktor das activationRepo, wie das Lernprogramm sagt? Das Problem ist, dass $ this-> actizationRepo in der Funktion of functionSend() null ist. Das sollte behoben werden. – Makan

Antwort

-1

Versuchen Sie, mit App \ ActivationRepository hinzuzufügen; in ActivationService unter verwenden Illuminate \ Mail \ Message;

Das Problem scheint zu sein, dass $ this-> activationRepo null ist und keine Instanz von ActivationRepository;

+1

Sowohl ActivationRepository- als auch ActivationService-Klassen befinden sich im selben Namespace. Hinzufügen von "verwenden ..." ist nicht erforderlich. – Makan

+0

Ich stimme @Makan hier zu – omrakhur