{"id":20475,"date":"2026-09-14T23:35:05","date_gmt":"2026-09-14T23:35:05","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/"},"modified":"2026-09-14T23:35:05","modified_gmt":"2026-09-14T23:35:05","slug":"laravel-e-mail-authentifizierung-mailgun-digital-ocean","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/","title":{"rendered":"E-Mail-Authentifizierung in Laravel 11 mit Mailgun und Digital Ocean erstellen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Mit der Einf\u00fchrung von Laravel Version 5.7 wurde eine neue Funktion zur Verifizierung von E-Mails von Nutzern eingef\u00fchrt. Wenn Sie schon einmal php <code>artisan make:auth<\/code> in einer Laravel-App ausgef\u00fchrt haben, kennen Sie sicher das gro\u00dfartige Gef\u00fchl, wenn Sie alle Ihre Registrierungs- und Anmeldeseiten mit Passwort-Hashing und einer bereits fertiggestellten Nutzertabelle vor sich sehen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Begeisterung legt sich jedoch schnell nach der Bereitstellung in der Produktionsumgebung, wenn Sie feststellen, dass sich jede Person mit <code>garbage@notrealemail.com<\/code> oder einer beliebigen anderen Eingabe registrieren kann. Diese d\u00fcnne Schicht zur Sitzungsauthentifizierung ist in einer Live-Anwendung nicht sehr hilfreich. Die Einf\u00fchrung von <code>MustVerifyEmailinterface<\/code> in Laravel 5.7 erweiterte das Authentifizierungsger\u00fcst, sodass sich Nutzer nur noch mit einer echten, g\u00fcltigen E-Mail-Adresse anmelden k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gab keine wesentlichen \u00c4nderungen an der Funktion zur E-Mail-Authentifizierung in Laravel \u2013 mittlerweile in Version 11 \u2013, aber wir empfehlen, <a href=\"https:\/\/laravel.com\/docs\/11.x\/artisan\" target=\"_tabs\" rel=\"noopener noreferrer\">auf die neueste Version zu aktualisieren.<\/a> falls Sie dies nicht bereits getan haben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Laravel 11, das am 12. M\u00e4rz 2024 ver\u00f6ffentlicht wurde, bietet weiterhin leistungsstarke Funktionen zur E-Mail-Verifizierung und f\u00fchrt gleichzeitig eine optimierte Anwendungsstruktur sowie weitere Verbesserungen ein. Dieses Tutorial f\u00fchrt Sie durch die Einrichtung der E-Mail-Authentifizierung in Laravel 11 mit Mailgun und die Bereitstellung auf Digital Ocean. <\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-9974\"><p class=\"h5 m-0\" id=\"toc-title-9974\">Inhaltsverzeichnis<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#neue-laravel-anwendung-erstellen\">Neue Laravel-Anwendung erstellen<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#e-mail-verifizierung-in-laravel-11\">E-Mail-Verifizierung in Laravel 11<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#hier-kommt-mailgun-ins-spiel\">Hier kommt Mailgun ins Spiel<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#ueberpruefen-ob-es-funktioniert\">\u00dcberpr\u00fcfen, ob es funktioniert<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#ressourcen\">Ressourcen<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">06<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#moechten-sie-weitere-beitraege-wie-diesen-von-mailgun-lesen\">M\u00f6chten Sie weitere Beitr\u00e4ge wie diesen von Mailgun lesen?<\/a><\/div><\/div><\/nav>\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> <p>1. Die Mindestanforderung f\u00fcr PHP ist jetzt 8.2.<\/p><p>2. Es gibt eine optimierte Anwendungsstruktur mit einer \u00fcberarbeiteten Datei bootstrap\/app.php.<\/p><p>3. Standardm\u00e4\u00dfige Verwendung von SQLite f\u00fcr Datenbankspeicherung, Sitzungen, Cache und Warteschlangen.<\/p><p class=\"mb-0\">4. Neue Health-Routing-Funktion f\u00fcr das Anwendungs-Monitoring.<\/p><\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Neue Laravel-Anwendung erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der erste Schritt besteht darin, eine neue Anwendung mit einigen Konfigurationen zu erstellen:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    $ laravel new email-verification-example rnrn$ cd email-verification-example rnrn$ touch database\/database.sqlite \r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Dadurch wird die standardm\u00e4\u00dfige Laravel-11.x-App mit dem Authentifizierungsger\u00fcst und einer Datei f\u00fcr eine SQLite-Datenbank erstellt. Aktualisieren Sie Ihre .env-Datei, damit sie auf den vollst\u00e4ndigen Pfad der SQLite-Datei verweist:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    DB_CONNECTION=sqlite rnDB_DATABASE=\/full\/path\/to\/email-verification-example\/database\/database.sqlite \r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">E-Mail-Verifizierung in Laravel 11<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sehen wir uns das standardm\u00e4\u00dfige Authentifizierungsger\u00fcst an und pr\u00fcfen, welche \u00c4nderungen erforderlich sind, um die E-Mail-Verifizierung hinzuzuf\u00fcgen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sehen Sie sich die Laravel-Dokumentation zur E-Mail-Validierung an <a href=\"https:\/\/laravel.com\/docs\/11.x\" target=\"_tabs\" rel=\"noopener noreferrer\">hier<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Laravel 11 bleibt der Prozess zum Hinzuf\u00fcgen der E-Mail-Verifizierung \u00e4hnlich, aber die Dateistruktur hat sich ge\u00e4ndert. \u00d6ffnen Sie Ihre Datei bootstrap\/app.php und stellen Sie sicher, dass sie Folgendes enth\u00e4lt:\u00a0<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"0\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Implementieren Sie als N\u00e4chstes die <code>MustVerifyEmail<\/code>-Schnittstelle. Eine Schnittstelle in PHP gibt die Methoden an, die eine Klasse implementieren muss. Sie m\u00fcssen verifizieren, dass Ihr <code>AppModeIsUser<\/code> den Vertrag <code>IlluminateContractsAuthMustVerifyEmail<\/code> implementiert:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"0\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Diese Schnittstelle erzwingt drei neue Methoden f\u00fcr unser Nutzermodell:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>hasVerifiedEmail() <\/code><\/li>\n\n\n\n<li><code>markEmailAsVerified() <\/code><\/li>\n\n\n\n<li><code>sendEmailVerificationNotification() <\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die Implementierung dieser Methoden finden Sie unter: <code>vendor\/laravel\/framework\/src\/Illuminate\/Auth\/MustVerifyEmail.php<\/code>. Um eine Person als verifiziert zu markieren, ben\u00f6tigen wir in unserer Nutzertabelle eine Spalte <code>email_verified_at<\/code>, die bereits in unserer standardm\u00e4\u00dfigen Migration zur Erstellung von Nutzertabellen vorhanden ist:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    Schema::create(&#039;users&#039;, function (Blueprint $table) { rn \u202f\u202f$table-&gt;increments(&#039;id&#039;); rn \u202f\u202f$table-&gt;string(&#039;name&#039;); rn \u202f\u202f$table-&gt;string(&#039;email&#039;)-&gt;unique(); rn \u202f\u202f$table-&gt;timestamp(&#039;email_verified_at&#039;)-&gt;nullable(); rn \u202f\u202f$table-&gt;string(&#039;password&#039;); rn \u202f\u202f$table-&gt;rememberToken(); rn \u202f\u202f$table-&gt;timestamps(); rn});\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fchren Sie die Migrationen aus, um die Tabelle zu erstellen: <code>php artisan migrate<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aktualisieren Sie in der Datei <code>routes\/web.php<\/code> die Authentifizierungsrouten, um die E-Mail-Verifizierung hinzuzuf\u00fcgen: <\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    Auth::routes([&#039;verify&#039; =&gt; true]);\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">In Laravel 11 werden die Routen in der Datei <code>bootstrap\/app.php<\/code> definiert. Stellen Sie sicher, dass Ihre Webrouten enthalten sind, und f\u00fcgen Sie die Verifizierungsrouten hinzu:\u00a0<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    -&gt;withRouting( rnrn    web: __DIR__.&#039;\/..\/routes\/web.php&#039;, rnrn    commands: __DIR__.&#039;\/..\/routes\/console.php&#039;, rnrn    health: &#039;\/up&#039;, rnrn) \r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcgen Sie dann in Ihrer Datei <code>routes\/web.php<\/code> Folgendes hinzu:\u00a0<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"0\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Um alle f\u00fcr Ihre Anwendung verf\u00fcgbaren Routen anzuzeigen, f\u00fchren Sie <code>php artisan route:list<\/code> aus.\u202fDas ist praktisch alles, was wir aufseiten von Laravel tun m\u00fcssen, um E-Mails zu verifizieren. Wenn Sie es jetzt jedoch versuchen, wird es nicht funktionieren.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4150\" width=\"1024\" height=\"505\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-blogpost.png\" alt=\"Laravel code\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-blogpost.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-blogpost-300x148.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-blogpost-768x379.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor wir E-Mails \u00fcber unseren PHP-Server versenden k\u00f6nnen, m\u00fcssen wir einen E-Mail-Treiber in Laravel konfigurieren. Sie k\u00f6nnen dies jedoch \u00fcberpr\u00fcfen, indem Sie <a href=\"https:\/\/laravel.com\/docs\/11.x\/artisan\" target=\"_tabs\" rel=\"noopener noreferrer\">tinker<\/a> verwenden, um zu sehen, dass ein Nutzereintrag mit einem email_verified_at-Wert von null erstellt wurde.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"0\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                    <\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Hier kommt Mailgun ins Spiel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mailgun bietet die M\u00f6glichkeit, E-Mails \u00fcber einen SMTP-Server oder \u00fcber die eigene API zu versenden. In diesem Tutorial versenden wir E-Mails \u00fcber die Mailgun-API. Dies ist schneller, skaliert besser und erfordert weniger Aufwand bei der Einrichtung als die Konfiguration von SMTP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4151\" width=\"1500\" height=\"377\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/SMTP_Flowchart_copy.png\" alt=\"Mailgun API call\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/SMTP_Flowchart_copy.png 1500w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/SMTP_Flowchart_copy-300x75.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/SMTP_Flowchart_copy-768x193.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/SMTP_Flowchart_copy-1024x257.png 1024w\" sizes=\"(max-width: 1500px) 100vw, 1500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wir werden API-Aufrufe senden. Daf\u00fcr ben\u00f6tigen wir <a href=\"https:\/\/github.com\/guzzle\/guzzle\" target=\"_tabs\" rel=\"noopener noreferrer\">Guzzle<\/a>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>$ composer require guzzlehttp\/guzzle<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit unsere Anwendung E-Mails versenden kann, ben\u00f6tigen wir einen gehosteten Domainnamen. Ich habe einen Domainnamen, den ich \u00fcber <a href=\"https:\/\/domains.google.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Google Domains<\/a> f\u00fcr etwa 12\u00a0$\/Jahr gekauft habe. Die Website (<a href=\"https:\/\/employbl.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">https:\/\/employbl.com\/<\/a>) wird auf <a href=\"https:\/\/forge.laravel.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Laravel Forge<\/a> gegen eine monatliche Geb\u00fchr gehostet. F\u00fcr die Bereitstellung habe ich den <a href=\"https:\/\/laracasts.com\/series\/learn-laravel-forge\" target=\"_tabs\" rel=\"noopener noreferrer\">Laracasts-Kurs \u201eLearn Laravel Forge\u201c<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Kurs habe ich meine Laravel-Anwendung so eingerichtet, dass sie auf Digital Ocean Droplets ausgef\u00fchrt wird. Dabei habe ich meinen Google-Domainnamen so konfiguriert, dass er auf Digital Ocean verweist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald Sie ein Mailgun-Konto erstellt haben, m\u00fcssen Sie Ihre Domain verifizieren, was etwa 24 Stunden dauert. Dazu m\u00fcssen wir TXT-, CNAME- und MX-Eintr\u00e4ge hinzuf\u00fcgen. \u202fWenn die MX-Eintr\u00e4ge bereits auf einen E-Mail-Anbieter verweisen, k\u00f6nnen Sie stattdessen eine Subdomain konfigurieren. Um diese Eintr\u00e4ge zu finden, rufen Sie die Domain in Ihrem Mailgun-Konto auf und pr\u00fcfen Sie <a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/quickstart-sending.html#how-to-start-sending-email\" target=\"_tabs\" rel=\"noopener noreferrer\">Domain Verification &amp; DNS<\/a>. <b>Sobald Sie eine funktionierende Mailgun-Domain haben, rufen Sie das Dashboard auf, um Ihren API-Schl\u00fcssel zu finden, und aktualisieren Sie die .env-Datei entsprechend.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>MAIL_DRIVER=mailgun MAILGUN_DOMAIN=mg.YOUR_DOMAIN.com MAILGUN_SECRET=YOUR_KEY_HERE<\/code><\/p>\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Mehr erfahren: Laravel ist zu einer j\u00e4hrlichen Versionierung \u00fcbergegangen. In der aktuellen V10 k\u00f6nnen Sie bis zum <b>6. August 2024<\/b> mit Fehlerbehebungen und bis zum <b>14. Februar 2025<\/b> mit Sicherheitsupdates rechnen. <a href='https:\/\/laravel-news.com\/laravel-10'>Lesen Sie die Versionshinweise zu Laravel 10.<\/a><\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">\u00dcberpr\u00fcfen, ob es funktioniert<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald der E-Mail-Versand konfiguriert ist, wird nach der Registrierung eine Landingpage angezeigt, auf der die Person aufgefordert wird, ihre E-Mails zu \u00fcberpr\u00fcfen. Diese Seite kann unter <b>resources\/views\/auth\/verify.blade.php<\/b> ge\u00e4ndert werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4152\" width=\"1024\" height=\"247\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel2.png\" alt=\"Verify your email Laravel\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel2.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel2-300x72.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel2-768x185.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dadurch wird eine echte E-Mail an die angegebene Adresse gesendet. Die Vorlage f\u00fcr diese E-Mail befindet sich in <b>IlluminateAuthNotificationsVerifyEmail.php<\/b>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4153\" width=\"512\" height=\"254\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/example-laravel.png\" alt=\"Laravel verify email address link\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/example-laravel.png 512w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/example-laravel-300x149.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn wir nicht m\u00f6chten, dass unsere Verifizierungs-E-Mails \u201eRegards\u201c oder den obigen Text enthalten, m\u00fcssen wir diese anpassen. Ver\u00f6ffentlichen Sie die Standardvorlagen mit den unten stehenden Publish-Befehlen: <\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    $ php artisan vendor:publish --tag=laravel-notificationsrn$ php artisan vendor:publish --tag=laravel-mail\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Tragen Sie dann die neuen Standardwerte in <b>resources\/views\/vendor\/notifications\/email.blade.php<\/b> ein. Wenn Sie weitere \u00c4nderungen vornehmen m\u00f6chten, k\u00f6nnen Sie die Benachrichtigung neu implementieren, indem Sie Ihrem Nutzermodell eine neue <code>sendEmailVerificationNotification<\/code>-Methode hinzuf\u00fcgen, die eine von Ihnen erstellte benutzerdefinierte Benachrichtigung zur\u00fcckgibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald auf den Link zur Verifizierung der E-Mail-Adresse geklickt wird, erfolgt die Weiterleitung zum Dashboard und die Anmeldung kann problemlos durchgef\u00fchrt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4154\" width=\"1024\" height=\"325\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-success.png\" alt=\"Laravel login\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-success.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-success-300x95.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/laravel-success-768x244.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Damit sollten Sie startklar sein. Der schwierigste Teil bestand f\u00fcr mich darin, den E-Mail-Server und Mailgun zu konfigurieren. Nachdem Ihre Domain verifiziert und Mailgun komplett eingerichtet ist, erweist sich der Laravel-Teil als sehr unkompliziert. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Konnten Sie alles erfolgreich in Betrieb nehmen? Verwendet schon jemand diese Funktion in einer Produktionsumgebung? Kontaktieren Sie mich <a href=\"https:\/\/twitter.com\/Connor11528\" target=\"_tabs\" rel=\"noopener noreferrer\">auf Twitter<\/a> oder hinterlassen Sie unten einen Kommentar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ressourcen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Neben den oben genannten Links fand ich auch diese Tutorials sehr hilfreich.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/medium.com\/@sgobinda007\/send-email-from-your-node-js-application-by-using-mailgun-api-services-bbedc7c45c19\" target=\"_tabs\" rel=\"noopener noreferrer\">Senden von E-Mails aus Ihrer Node.js-Anwendung \u00fcber die Dienste der Mailgun-API<\/a> Gobinda Thakur<\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/@DCzajkowski\/testing-laravel-authentication-flow-573ea0a96318\" target=\"_tabs\" rel=\"noopener noreferrer\">Den Authentifizierungsablauf in Laravel testen<\/a> Dariusz Czajkowski<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00f6chten Sie weitere Beitr\u00e4ge wie diesen von Mailgun lesen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unser Gastautor Connor Leech ist Software Engineer bei Stitch Labs.\u202fSie k\u00f6nnen ihn <a href=\"mailto:connor@stitchlabs.com\" target=\"_tabs\" rel=\"noopener noreferrer\">per E-Mail kontaktieren<\/a>. F\u00fcr weitere Beitr\u00e4ge und Anleitungen zur Probleml\u00f6sung abonnieren Sie unseren Newsletter. So verpassen Sie keine Einblicke unserer Gastfachleute und internen E-Mail-Geeks.<\/p>\n\n\n\r\n    <aside data-content-type=\"longform\"  class=\"banner-block longform-spacings rounded-lg shadow-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 bg-light\" data-theme=\"dark\" aria-labelledby=\"banner-block-block_da9afb90ddd761dea067b1b4782b1e1f\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Registrieren            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_da9afb90ddd761dea067b1b4782b1e1f\">\r\n                Loslegen ist ganz einfach. Und es ist kostenlos.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Erfahren Sie, was Sie mit der weltbesten Plattform f\u00fcr E-Mail-Zustellung alles erreichen k\u00f6nnen.<\/div>\r\n                            <\/div>\r\n        \r\n        <div class=\"text-start mt-5\"><a href=\"https:\/\/signup.mailgun.com\/new\/signup\"  class=\"btn btn-secondary\" >Get started<\/a><\/div>\r\n    <\/aside>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>Integrieren Sie Laravel Version 11.x in Mailgun, um die E-Mails von Nutzern verifizieren zu k\u00f6nnen. Lesen Sie unsere Schritt-f\u00fcr-Schritt-Anleitung.<\/p>\n","protected":false},"author":13,"featured_media":4074,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[20],"class_list":["post-20475","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-email"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/\",\"name\":\"E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"datePublished\":\"2026-09-14T23:35:05+00:00\",\"description\":\"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"E-Mail-Authentifizierung in Laravel 11 mit Mailgun und Digital Ocean erstellen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun","description":"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/","og_locale":"de_DE","og_type":"article","og_title":"E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun","og_description":"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/","url":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/","name":"E-Mail-Authentifizierung f\u00fcr Laravel 11.x mit Mailgun und Digital Ocean erstellen - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","datePublished":"2026-09-14T23:35:05+00:00","description":"Laravel Version 11 unterst\u00fctzt die Verifizierung von E-Mail-Adressen der Nutzenden. Erfahren Sie in dieser Schritt-f\u00fcr-Schritt-Anleitung zu Mailgun und Digital Ocean, wie diese Integration funktioniert.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/laravel-e-mail-authentifizierung-mailgun-digital-ocean\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/de\/blog\/"},{"@type":"ListItem","position":3,"name":"E-Mail-Authentifizierung in Laravel 11 mit Mailgun und Digital Ocean erstellen"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!","publisher":{"@id":"https:\/\/www.mailgun.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/de\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20475\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/4074"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=20475"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=20475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}