{"id":24033,"date":"2021-05-10T14:00:00","date_gmt":"2021-05-10T11:00:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24033"},"modified":"2021-10-17T21:07:38","modified_gmt":"2021-10-17T18:07:38","slug":"kuinka-lahettaa-aktivointisahkoposti-laravelissa-kayttajan-rekisteroinnin-jalkeen","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-lahettaa-aktivointisahkoposti-laravelissa-kayttajan-rekisteroinnin-jalkeen\/","title":{"rendered":"Kuinka l\u00e4hett\u00e4\u00e4 aktivointis\u00e4hk\u00f6posti Laravelissa k\u00e4ytt\u00e4j\u00e4n rekister\u00f6innin j\u00e4lkeen"},"content":{"rendered":"<p>Laravel mukana tulee todennusvirta, kun asennamme sen. Se sis\u00e4lt\u00e4\u00e4 kirjautumisen, rekister\u00f6innin, unohtanut salasanavirran itse Laravel-ytimess\u00e4. K\u00e4ytt\u00e4m\u00e4ll\u00e4 t\u00e4t\u00e4 sis\u00e4\u00e4nrakennettua kulkua k\u00e4ytt\u00e4j\u00e4rekister\u00f6ityess\u00e4\u00e4n he p\u00e4\u00e4sev\u00e4t suoraan j\u00e4rjestelm\u00e4\u00e4n. Mutta ent\u00e4 jos joku haluaa l\u00e4hett\u00e4\u00e4 vahvistuskoodin s\u00e4hk\u00f6postitse ennen kuin antaa k\u00e4ytt\u00e4j\u00e4n k\u00e4ytt\u00e4\u00e4 sovellusta. T\u00e4ss\u00e4 artikkelissa tutkitaan aktivointis\u00e4hk\u00f6postin l\u00e4hett\u00e4mist\u00e4 Laravelissa.<\/p>\n<p>L\u00e4het\u00e4mme vahvistusviestin k\u00e4ytt\u00e4j\u00e4lle. Kun k\u00e4ytt\u00e4j\u00e4 napsauttaa s\u00e4hk\u00f6postitse l\u00e4hetetty\u00e4 vahvistuslinkki\u00e4, vain h\u00e4n voi k\u00e4ytt\u00e4\u00e4 j\u00e4rjestelm\u00e4\u00e4.<\/p>\n<h3>P\u00e4\u00e4st\u00e4 alkuun<\/h3>\n<p>Aloittamiseksi asennamme paketin ensin Laravel-projektiimme. Avaa p\u00e4\u00e4te projektin juurihakemistossa ja suorita komento:<\/p>\n<pre><code>composer require beyondcode\/laravel-confirm-email<\/code><\/pre>\n<p>T\u00e4m\u00e4 <a href=\"https:\/\/github.com\/beyondcode\/laravel-confirm-email\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">paketti,<\/a> joka lis\u00e4\u00e4 s\u00e4hk\u00f6postivahvistuksen Laravel-projekteihisi.<\/p>\n<p>Paketin asentamisen j\u00e4lkeen meid\u00e4n pit\u00e4isi suorittaa komento julkaisemaan siirto ja m\u00e4\u00e4ritystiedosto.<\/p>\n<pre><code>php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider<\/code><\/pre>\n<p>Vuonna <code>users<\/code>taulukossa, t\u00e4m\u00e4 paketti lis\u00e4t\u00e4 kaksi saraketta <code>confirmed_at<\/code>ja <code>confirmation_code<\/code>. Suoritetaan siirtokomento n\u00e4iden sarakkeiden lis\u00e4\u00e4miseksi.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<h3>Kokoonpano<\/h3>\n<p>L\u00e4hett\u00e4m\u00e4\u00e4n aktivointi s\u00e4hk\u00f6posti meid\u00e4n on korvattava <code>AuthenticatesUsers<\/code>, <code>RegistersUsers<\/code>ja <code>SendsPasswordResetEmails<\/code>piirteit\u00e4, joilla ne antanut t\u00e4m\u00e4 paketti.<\/p>\n<p>Avaa ensin alla olevat tiedostot editorissasi, sitten vaihdamme piirteet yksi kerrallaan.<\/p>\n<ul>\n<li>appHttpControllersAuthLoginController.php<\/li>\n<li>appHttpControllersAuthRegisterController.php<\/li>\n<li>appHttpControllersAuthForgotPasswordController.php<\/li>\n<\/ul>\n<p>Korvaa lauseet yll\u00e4 olevista tiedostoista<\/p>\n<ul>\n<li><code>use IlluminateFoundationAuthAuthenticatesUsers;<\/code><\/li>\n<li><code>use IlluminateFoundationAuthRegistersUsers;<\/code><\/li>\n<li><code>use IlluminateFoundationAuthSendsPasswordResetEmails;<\/code><\/li>\n<\/ul>\n<p>Kanssa<\/p>\n<ul>\n<li><code>use BeyondCodeEmailConfirmationTraitsAuthenticatesUsers;<\/code><\/li>\n<li><code>use BeyondCodeEmailConfirmationTraitsRegistersUsers;<\/code><\/li>\n<li><code>use BeyondCodeEmailConfirmationTraitsSendsPasswordResetEmails;<\/code><\/li>\n<\/ul>\n<p>Kun l\u00e4het\u00e4mme vahvistuslinkki\u00e4 aktivointis\u00e4hk\u00f6postissa, lis\u00e4\u00e4 seuraavat kaksi reitti\u00e4 <code>routes\/web.php<\/code>tiedostoon.<\/p>\n<pre><code>Route::name('auth.resend_confirmation')-&gt;get('\/register\/confirm\/resend', 'AuthRegisterController@resendConfirmation');\nRoute::name('auth.confirm')-&gt;get('\/register\/confirm\/{confirmation_code}', 'AuthRegisterController@confirm');<\/code><\/pre>\n<p>Kun k\u00e4ytt\u00e4j\u00e4 napsauttaa vahvistuslinkki\u00e4, t\u00e4m\u00e4 paketti lis\u00e4\u00e4 flash-viestej\u00e4, jotka sis\u00e4lt\u00e4v\u00e4t virhe- \/ tietoviestin k\u00e4ytt\u00e4jille. Jos haluat n\u00e4ytt\u00e4\u00e4 t\u00e4m\u00e4n flash-viestin k\u00e4ytt\u00e4jille, lis\u00e4\u00e4 koodi alla olevaan koodiin <code>resourcesviewsauthlogin.blade.php<\/code>.<\/p>\n<pre><code>.....\n&lt;div class=\"panel-body\"&gt;\n\u00a0\u00a0\u00a0\u00a0@if (session('confirmation'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-info\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! session('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n\u00a0\n\u00a0\u00a0\u00a0\u00a0@if ($errors-&gt;has('confirmation') &gt; 0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! $errors-&gt;first('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n.....<\/code><\/pre>\n<p>Meid\u00e4n on my\u00f6s lis\u00e4tt\u00e4v\u00e4 koodi alle <code>resourcesviewsauthpasswordsemail.blade.php<\/code><\/p>\n<pre><code>.....\n&lt;div class=\"panel-body\"&gt;\n\u00a0\u00a0\u00a0\u00a0@if ($errors-&gt;has('confirmation') &gt; 0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! $errors-&gt;first('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n.....<\/code><\/pre>\n<p>Se siit\u00e4! Nyt kun k\u00e4ytt\u00e4j\u00e4 tekee rekister\u00f6innin verkkosivustollesi, h\u00e4n saa aktivointis\u00e4hk\u00f6postin vahvistaakseen tilins\u00e4. Jaa ajatuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-kayttaa-laravel-passportia-rest-api-todennukseen\/\" title=\"Kuinka k\u00e4ytt\u00e4\u00e4 Laravel Passportia REST API -todennukseen\">Kuinka k\u00e4ytt\u00e4\u00e4 Laravel Passportia REST API -todennukseen<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-ladata-tiedosto-s3-een-laravel-tiedostojarjestelman-avulla\/\" title=\"Kuinka ladata tiedosto S3: een Laravel-tiedostoj\u00e4rjestelm\u00e4n avulla\">Kuinka ladata tiedosto S3: een Laravel-tiedostoj\u00e4rjestelm\u00e4n avulla<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa n\u00e4ytet\u00e4\u00e4n, kuinka l\u00e4hetet\u00e4\u00e4n aktivointis\u00e4hk\u00f6posti Laraverissa, kun k\u00e4ytt\u00e4j\u00e4 tekee rekister\u00f6innin. Oletuksena Laravel kirjautui sis\u00e4\u00e4n automaattisesti sis\u00e4\u00e4nkirjautumisen yhteydess\u00e4<\/p>\n","protected":false},"author":1,"featured_media":22164,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[499],"tags":[843],"class_list":["post-24033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24033"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24033\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/22164"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}