✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como enviar e-mail de ativação no Laravel após o cadastro do usuário

437

O Laravel vem com fluxo de autenticação quando o instalamos. Inclui login, registro, fluxo de esquecimento de senha no próprio núcleo do Laravel. Usando esse fluxo integrado, ao se registrar, o usuário obtém acesso direto ao sistema. Mas e se alguém quiser enviar um código de verificação de e-mail antes de permitir que um usuário use o aplicativo. Neste artigo, estudamos como enviar e-mail de ativação no Laravel.

Enviaremos um email de confirmação ao usuário. Quando um usuário clica no link de verificação enviado por e-mail, somente ele poderá usar o sistema.

Começando

Para começar, primeiro instalamos o pacote em nosso projeto Laravel. Abra o terminal no diretório raiz do seu projeto e execute o comando:

composer require beyondcode/laravel-confirm-email

Este pacote que adiciona verificação de e-mail aos seus projetos Laravel.

Depois de instalar o pacote, devemos executar um comando para publicar a migração e o arquivo de configuração.

php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider

Na userstabela, este pacote adiciona duas colunas confirmed_ate confirmation_code. Vamos executar o comando de migração para adicionar essas colunas.

php artisan migrate

Configuração

Para enviar e-mail de ativação precisamos substituir AuthenticatesUsers, RegistersUserse SendsPasswordResetEmailstraits com os fornecidos por este pacote.

Abra os arquivos abaixo em seu editor primeiro e então substituiremos as características uma por uma.

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

Dos arquivos acima, substitua as declarações

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

Com

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

Como estamos enviando um link de verificação em um e-mail de ativação, adicione as duas rotas a seguir em um routes/web.phparquivo.

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

Quando um usuário clica no link de verificação, este pacote adiciona mensagens flash que contêm mensagens de erro / informações para os usuários. Para mostrar esta mensagem flash aos usuários, adicione o código abaixo no 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
.....

Também precisamos adicionar o código abaixo no resourcesviewsauthpasswordsemail.blade.php

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

É isso! Agora, quando um usuário fizer o registro em seu site, ele receberá um e-mail de ativação para confirmar sua conta. Por favor, compartilhe suas idéias na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação