✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So senden Sie eine Aktivierungs-E-Mail in Laravel nach der Benutzerregistrierung

37

Laravel wird bei der Installation mit einem Authentifizierungsfluss geliefert. Es umfasst Anmeldung, Registrierung und den Fluss vergessener Passwörter im Laravel-Kern selbst. Mit diesem integrierten Ablauf erhalten Benutzer bei der Registrierung direkt Zugriff auf das System. Aber was ist, wenn jemand einen E-Mail-Bestätigungscode senden möchte, bevor er einem Benutzer die Verwendung der Anwendung gestattet. In diesem Artikel untersuchen wir, wie Sie eine Aktivierungs-E-Mail in Laravel senden.

Wir werden dem Benutzer eine Bestätigungs-E-Mail senden. Wenn ein Benutzer auf den in einer E-Mail gesendeten Bestätigungslink klickt, kann nur er das System verwenden.

Einstieg

Für den Einstieg installieren wir das Paket zunächst in unserem Laravel-Projekt. Öffnen Sie das Terminal in Ihrem Projekt-Root-Verzeichnis und führen Sie den Befehl aus:

composer require beyondcode/laravel-confirm-email

Dieses Paket, das Ihren Laravel-Projekten eine E-Mail-Verifizierung hinzufügt.

Nach der Installation des Pakets sollten wir einen Befehl ausführen, um die Migration und die Konfigurationsdatei zu veröffentlichen.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

In der usersTabelle fügt dieses Paket zwei Spalten confirmed_atund hinzu confirmation_code. Führen wir den Migrationsbefehl aus, um diese Spalten hinzuzufügen.

php artisan migrate

Aufbau

Um eine Aktivierungs-E-Mail zu senden, müssen wir AuthenticatesUsers, RegistersUsersund SendsPasswordResetEmailsMerkmale durch die von diesem Paket bereitgestellten ersetzen .

Öffnen Sie zuerst die folgenden Dateien in Ihrem Editor, dann ersetzen wir die Merkmale nacheinander.

  • appHttpControllersAuthLoginController.php
  • appHttpControllersAuthRegisterController.php
  • appHttpControllersAuthForgotPasswordController.php

Ersetzen Sie aus den obigen Dateien die Anweisungen

  • use IlluminateFoundationAuthAuthenticatesUsers;
  • use IlluminateFoundationAuthRegistersUsers;
  • use IlluminateFoundationAuthSendsPasswordResetEmails;

Mit

  • use BeyondCodeEmailConfirmationTraitsAuthenticatesUsers;
  • use BeyondCodeEmailConfirmationTraitsRegistersUsers;
  • use BeyondCodeEmailConfirmationTraitsSendsPasswordResetEmails;

Da wir einen Bestätigungslink in einer Aktivierungs-E-Mail senden, fügen Sie die folgenden zwei Routen in eine routes/web.phpDatei ein.

Route::name('auth.resend_confirmation')->get('/register/confirm/resend', 'AuthRegisterController@resendConfirmation');
Route::name('auth.confirm')->get('/register/confirm/{confirmation_code}', 'AuthRegisterController@confirm');

Wenn ein Benutzer auf den Verifizierungslink klickt, fügt dieses Paket Flash-Nachrichten hinzu, die Fehler-/Informationsnachrichten für Benutzer enthalten. Um diese Flash-Nachricht für Benutzer anzuzeigen, fügen Sie den folgenden Code in die resourcesviewsauthlogin.blade.php.

.....
<div class="panel-body">
    @if (session('confirmation'))
        <div class="alert alert-info" role="alert">
            {!! session('confirmation') !!}
        </div>
    @endif
 
    @if ($errors->has('confirmation') > 0)         <div class="alert alert-danger" role="alert">
            {!! $errors->first('confirmation') !!}
        </div>
    @endif
.....

Wir müssen auch den folgenden Code in der. hinzufügen resourcesviewsauthpasswordsemail.blade.php

.....
<div class="panel-body">
    @if ($errors->has('confirmation') > 0)         <div class="alert alert-danger" role="alert">
            {!! $errors->first('confirmation') !!}
        </div>
    @endif
.....

Das ist es! Wenn sich ein Benutzer jetzt auf Ihrer Website registriert, erhält er eine Aktivierungs-E-Mail, um sein Konto zu bestätigen. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen