{"id":13391,"date":"2025-05-15T00:00:00","date_gmt":"2025-05-15T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/"},"modified":"2026-04-30T04:28:02","modified_gmt":"2026-04-30T04:28:02","slug":"wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/","title":{"rendered":"Erstellen von Transaktions-E-Mail-Workflows f\u00fcr Bestellbest\u00e4tigungen mit der API von Mailgun"},"content":{"rendered":"\n<p>Im Gegensatz zu Marketing-E-Mails werden Transaktions-E-Mails (wie Bestellbest\u00e4tigungen, Versandbenachrichtigungen und das Zur\u00fccksetzen von Passw\u00f6rtern) durch bestimmte Nutzeraktionen ausgel\u00f6st und bieten Echtzeit-Aktualisierungen zu ihren Interaktionen mit Ihrer Plattform. Sie helfen dabei, Vertrauen aufzubauen, Support-Anfragen zu reduzieren und sorgen f\u00fcr ein reibungsloses Einkaufserlebnis.<\/p>\n\n\n\n<p>Bestellbest\u00e4tigungen sind besonders wichtig, da sie Ihre Kunden wissen lassen, dass ihr Kauf erfolgreich war, und dem Nutzer einen Nachweis der Transaktionsdetails bieten.<\/p>\n\n\n\n<p>In diesem Tutorial erfahren Sie, wie Sie mit der API von Mailgun einen Transaktions-E-Mail-Workflow f\u00fcr Bestellbest\u00e4tigungen erstellen.<\/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-1692\"><p class=\"h5 m-0\" id=\"toc-title-1692\">Table of contents<\/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=\"#implementierung-von-transaktions-e-mail-workflows-fuer-bestellbestaetigungen\">Implementierung von Transaktions-E-Mail-Workflows f\u00fcr Bestellbest\u00e4tigungen<\/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=\"#die-oberflaeche-der-anwendung\">Die Oberfl\u00e4che der Anwendung<\/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=\"#einrichten-der-mailgun-verbindung\">Einrichten der Mailgun-Verbindung<\/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=\"#design-der-e-mail-vorlage\">Design der E-Mail-Vorlage<\/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=\"#implementierung-der-funktion-fuer-den-e-mail-versand\">Implementierung der Funktion f\u00fcr den E-Mail-Versand<\/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=\"#integration-mit-anwendungs-events\">Integration mit Anwendungs-Events<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">07<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#testen-des-workflows\">Testen des Workflows<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">08<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#ueberwachung-und-verwaltung-von-e-mails\">\u00dcberwachung und Verwaltung von E-Mails<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">09<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#zusammenfassung\">Zusammenfassung<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\"><b>Implementierung von Transaktions-E-Mail-Workflows f\u00fcr Bestellbest\u00e4tigungen<\/b><\/h2>\n\n\n\n<p>Bevor Sie beginnen, stellen Sie sicher, dass Sie ein <a href=\"https:\/\/login.mailgun.com\/login\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Mailgun-Konto<\/a> und <a href=\"https:\/\/nodejs.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Node.js<\/a> auf Ihrem Rechner installiert haben.<\/p>\n\n\n\n<p>Sobald Ihr Konto registriert und aktiviert ist, klicken Sie auf <b>Konto erstellen<\/b> und dann auf <b>API-Schl\u00fcssel erstellen<\/b>, um eine kurze Beschreibung f\u00fcr den Schl\u00fcssel anzugeben. Sobald dieser generiert ist, kopieren und speichern Sie den API-Schl\u00fcssel an einem sicheren Ort.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3951\" width=\"1728\" height=\"924\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_.png\" alt=\"API Key\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_.png 1728w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_-300x160.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_-768x411.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_-1024x548.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/1__2_-1536x821.png 1536w\" sizes=\"(max-width: 1728px) 100vw, 1728px\" \/><\/figure>\n\n\n\n<p>Dieser Schl\u00fcssel wird verwendet, um Ihre Anfragen an die API von Mailgun zu authentifizieren.<\/p>\n\n\n\n<p>Um es einfach zu halten, klonen Sie das folgende UI-Repository und richten Sie die Umgebungsvariablen ein, indem Sie die folgenden <code>npm<\/code>-Befehle ausf\u00fchren:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                $ git clone https:\/\/github.com\/Ikeh-Akinyemi\/draftdev-mailgunnerrn$ cd draftdev-mailgunner; npm install rn$ echo -e &quot;MAILGUN_API_KEY=your_api_key_here\nMAILGUN_DOMAIN=your_domain_here\nPORT=8080&quot; &gt;&gt; .env\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Dieser Befehl f\u00fcgt die Bibliotheken mailgun.js, form-data, cors, dotenv und express zur Verwendung im Backend-Server hinzu und erstellt einige Platzhalterwerte f\u00fcr den Mailgun-API-Schl\u00fcssel und die Domain in einer .env-Datei, die Sie w\u00e4hrend des Tutorials aktualisieren werden.<\/p>\n\n\n\n<p>Die Mailgun-Domain bietet Ihnen die M\u00f6glichkeit, Ihre eigene individualisierbare Domain einzurichten oder eine Sandbox f\u00fcr Testzwecke zu nutzen. In diesem Tutorial werden Sie eine Sandbox-Domain verwenden. Sie finden die Sandbox-Domain von Mailgun, indem Sie in Ihrem Dashboard zu <b>Mailgun Send &gt; Versand &gt; Domain-Einstellungen<\/b> navigieren und auf den <b>Select<\/b>-Button in der <b>API<\/b>-Integrationsoption klicken:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3957\" width=\"1746\" height=\"1040\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_.png\" alt=\"Mailgun API Sandbox\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_.png 1746w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_-300x179.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_-768x457.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_-1024x610.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/2__2_-1536x915.png 1536w\" sizes=\"(max-width: 1746px) 100vw, 1746px\" \/><\/figure>\n\n\n\n<p>Ihre Sandbox-Domain ist in den f\u00fcr die Mailgun-Einrichtung bereitgestellten Boilerplates enthalten. Denken Sie daran, den Wert von MAILGUN_DOMAIN (derzeit your_domain_here) in der .env-Datei zu aktualisieren.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3967\" width=\"1744\" height=\"1038\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_.png\" alt=\"Domain Update\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_.png 1744w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_-300x179.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_-768x457.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_-1024x609.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/3__2_-1536x914.png 1536w\" sizes=\"(max-width: 1744px) 100vw, 1744px\" \/><\/figure>\n\n\n\n<p>Wenn Sie eine individualisierbare Domain einrichten m\u00f6chten, befolgen Sie die detaillierten Anweisungen in <a href=\"https:\/\/youtu.be\/VI6aXV4YbdI\" target=\"_tabs\" rel=\"noopener noreferrer\">diesem YouTube-Tutorial<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Oberfl\u00e4che der Anwendung<\/h2>\n\n\n\n<p>In diesem Szenario arbeiten Sie mit einer einfachen Warenkorb-Anwendung, die mit HTML, CSS und JavaScript erstellt wurde. Die Anwendung erm\u00f6glicht es Nutzern, Artikel zu ihrem Warenkorb hinzuzuf\u00fcgen, Mengen anzupassen und zur Kasse zu gehen. Wenn der Nutzer seinen Kauf best\u00e4tigt, sendet die Anwendung eine Anfrage an das Backend, um die Bestellung zu verarbeiten und eine Best\u00e4tigungs-E-Mail zu versenden. Um eine Vorschau der Benutzeroberfl\u00e4che anzuzeigen, \u00f6ffnen Sie die Datei <code>ui\/index.html<\/code> im Browser oder f\u00fchren Sie den Python-Befehl <code>python3 -m http.server -d=.\/ui:<\/code> aus.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-3993\" width=\"1750\" height=\"1048\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_.png\" alt=\"Shopping Cart Example\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_.png 1750w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_-300x180.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_-768x460.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_-1024x613.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/4__3_-1536x920.png 1536w\" sizes=\"(max-width: 1750px) 100vw, 1750px\" \/><\/figure>\n\n\n\n<p>Diese Benutzeroberfl\u00e4che wurde mit Fokus auf ein nahtloses Checkout-Erlebnis intuitiv gestaltet. Das Backend \u00fcbernimmt die Hauptarbeit, einschlie\u00dflich der Verarbeitung von Bestellungen und dem Versand von Best\u00e4tigungs-E-Mails.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einrichten der Mailgun-Verbindung<\/h2>\n\n\n\n<p>Um Mailgun in Ihr Backend zu integrieren, m\u00fcssen Sie den Mailgun-Client mit Ihrem API-Schl\u00fcssel initialisieren. So richten Sie die Verbindung in Ihrem Node.js-Backend ein:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                const formData = require(&#039;form-data&#039;);rnconst Mailgun = require(&#039;mailgun.js&#039;);rnrnconst mailgun = new Mailgun(formData);rnconst mg = mailgun.client({ username: &#039;api&#039;, key: process.env.MAILGUN_API_KEY });rnconst MAILGUN_DOMAIN = process.env.MAILGUN_DOMAIN;\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Dieser Code initialisiert den Mailgun-Client, der verwendet wird, um Transaktions-E-Mails zu versenden. Stellen Sie sicher, dass Sie den Wert von <code>MAILGUN_API_KEY<\/code> (derzeit <code>your_api_key_here<\/code>) in Ihrer .env-Datei aktualisieren, bevor Sie fortfahren.<\/p>\n\n\n\n<p>Testen Sie die Verbindung, indem Sie eine Test-E-Mail versenden:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                mg.messages.create(&#039;&lt;your-domain.com&gt;&#039;, {rn    from: &quot;Excited User &lt;mailgun@your-domain.com&gt;&quot;,rn    to: [&quot;test@example.com&quot;],rn    subject: &quot;Hello&quot;,rn    text: &quot;Testing some Mailgun awesomeness!&quot;rn})rn.then(msg =&gt; console.log(msg)) \/\/ logs response datarn.catch(err =&gt; console.error(err)); \/\/ logs any error\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Sie k\u00f6nnen die von Mailgun bereitgestellte Sandbox-Domain zum Testen verwenden, m\u00fcssen jedoch mindestens eine verifizierte E-Mail-Adresse f\u00fcr Testzwecke hinzuf\u00fcgen (bis zu f\u00fcnf). Um Ihre Test-E-Mail-Adresse zu verifizieren, gehen Sie in Ihrem Mailgun-Dashboard zu <b>Mailgun Send &gt; Versand &gt; Domain-Einstellungen<\/b>. Geben Sie dann Ihre E-Mail-Adresse in das daf\u00fcr vorgesehene Eingabefeld ein und klicken Sie auf <b>Add<\/b>. Mailgun wird eine Verifizierungs-E-Mail an diese Adresse versenden.<\/p>\n\n\n\n<p>\u00dcberpr\u00fcfen Sie Ihren Posteingang und klicken Sie auf den Validierungslink <b>I Agree<\/b>, um den Vorgang abzuschlie\u00dfen und sich als autorisierter Testempf\u00e4nger zu registrieren:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4002\" width=\"1738\" height=\"1048\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_.png\" alt=\"Verification Link\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_.png 1738w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_-300x181.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_-768x463.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_-1024x617.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/5__3_-1536x926.png 1536w\" sizes=\"(max-width: 1738px) 100vw, 1738px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Design der E-Mail-Vorlage<\/h2>\n\n\n\n<p>Transaktions-E-Mails erfordern oft dynamischen Content, wie den Namen des Nutzers, Bestelldetails und Versandinformationen, weshalb Sie eine HTML-Vorlage mit Platzhaltern f\u00fcr dynamische Daten erstellen m\u00fcssen. Hier ist ein Beispiel f\u00fcr eine einfache Vorlage f\u00fcr eine Bestellbest\u00e4tigung:<\/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                                HTML                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-markup\">\r\n                            <code class=\"language-markup\">\r\n\r\n                                &lt;!DOCTYPE html&gt;rn&lt;html&gt;rn&lt;head&gt;rn    &lt;title&gt;Order Confirmation&lt;\/title&gt;rn&lt;\/head&gt;rn&lt;body&gt;rn    &lt;h1&gt;Thank you for your order, {{name}}!&lt;\/h1&gt;rn    &lt;p&gt;Your order number is {{orderNumber}}.&lt;\/p&gt;rn    &lt;p&gt;We will ship your items to {{shippingAddress}}.&lt;\/p&gt;rn&lt;\/body&gt;rn&lt;\/html&gt;\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Sie k\u00f6nnen eine Templating-Engine wie <a href=\"https:\/\/handlebarsjs.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Handlebars<\/a> oder <a href=\"https:\/\/ejs.co\/#features\" target=\"_tabs\" rel=\"noopener noreferrer\">EJS<\/a> verwenden, um die Platzhalter durch tats\u00e4chliche Daten zu ersetzen, bevor Sie die E-Mail versenden. Sie k\u00f6nnen auch <a href=\"https:\/\/help.mailgun.com\/hc\/en-us\/articles\/6923289387675-Email-Templates-Editor\" target=\"_tabs\" rel=\"noopener noreferrer\">den intuitiven visuellen Builder von Mailgun<\/a> verwenden, um sch\u00f6ne, responsive E-Mail-Vorlagen ohne Programmierkenntnisse zu erstellen.<\/p>\n\n\n\n<p>In diesem Artikel verwenden Sie die einfachste Form des Templatings: die String-Interpolation mithilfe von JavaScript-Template-Literalen. Dieser Ansatz erm\u00f6glicht es Ihnen, eine HTML-E-Mail-Vorlage einzurichten, die mit den erforderlichen dynamischen Daten gef\u00fcllt wird:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                function emailTemplate(order) {rn  \/\/ Format items for emailrn  const itemsList = order.items.map(item =&gt; {rn    return `rn      &lt;tr&gt;rn        &lt;td style=&quot;padding: 10px 0; border-bottom: 1px solid #eee;&quot;&gt;rn          ${item.name}rn        &lt;\/td&gt;rn        &lt;td style=&quot;padding: 10px 0; border-bottom: 1px solid #eee; text-align: center;&quot;&gt;rn          ${item.quantity}rn        &lt;\/td&gt;rn        &lt;td style=&quot;padding: 10px 0; border-bottom: 1px solid #eee; text-align: right;&quot;&gt;rn          $${item.price.toFixed(2)}rn        &lt;\/td&gt;rn        &lt;td style=&quot;padding: 10px 0; border-bottom: 1px solid #eee; text-align: right;&quot;&gt;rn          $${(item.price * item.quantity).toFixed(2)}rn        &lt;\/td&gt;rn      &lt;\/tr&gt;rn    `;rn  }).join(&#039;&#039;);rn};\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Dieser Code durchl\u00e4uft die Artikel einer Bestellung, um eine tabellenartige Quittung der Bestellung des Kunden zu generieren. Der zur\u00fcckgegebene Wert, <code>itemsList<\/code>, ist ein String-Literal, das verwendet wird, um den Rest der E-Mail-Vorlage wie folgt 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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                function emailTemplate(order) {rn    ...rnrn  \/\/ Create email HTML templatern  const emailHtml = `rn    &lt;!DOCTYPE html&gt;rn    &lt;html&gt;rn    &lt;head&gt;rn      &lt;style&gt;rn        body { font-family: Arial, sans-serif; line-height: 1.6; color: #333; }rn        .container { max-width: 600px; margin: 0 auto; }rn        .header { background-color: #f8f9fa; padding: 20px; text-align: center; }rn        .content { padding: 20px; }rn        .order-details { margin-top: 20px; }rn        .order-table { width: 100%; border-collapse: collapse; }rn        .order-table th { text-align: left; padding: 10px 0; border-bottom: 2px solid #ddd; }rn        .footer { margin-top: 30px; text-align: center; font-size: 14px; color: #777; }rn        .total-row { font-weight: bold; }rn      &lt;\/style&gt;rn    &lt;\/head&gt;rn    &lt;body&gt;rn      &lt;div class=&quot;container&quot;&gt;rn        &lt;div class=&quot;header&quot;&gt;rn          &lt;h2&gt;Order Confirmation&lt;\/h2&gt;rn          &lt;p&gt;Thank you for your purchase!&lt;\/p&gt;rn        &lt;\/div&gt;rnrn        &lt;div class=&quot;content&quot;&gt;rn          &lt;p&gt;Hello ${order.customer.name},&lt;\/p&gt;rnrn          &lt;p&gt;Your order has been confirmed. Here are your order details:&lt;\/p&gt;rnrn          &lt;div class=&quot;order-details&quot;&gt;rn            &lt;p&gt;&lt;strong&gt;Order ID:&lt;\/strong&gt; ${order.id}&lt;\/p&gt;rn            &lt;p&gt;&lt;strong&gt;Order Date:&lt;\/strong&gt; ${new Date(order.createdAt).toLocaleString()}&lt;\/p&gt;rnrn            &lt;table class=&quot;order-table&quot;&gt;rn              &lt;thead&gt;rn                &lt;tr&gt;rn                  &lt;th&gt;Item&lt;\/th&gt;rn                  &lt;th style=&quot;text-align: center;&quot;&gt;Qty&lt;\/th&gt;rn                  &lt;th style=&quot;text-align: right;&quot;&gt;Price&lt;\/th&gt;rn                  &lt;th style=&quot;text-align: right;&quot;&gt;Total&lt;\/th&gt;rn                &lt;\/tr&gt;rn              &lt;\/thead&gt;rn              &lt;tbody&gt;rn                ${itemsList}rn                &lt;tr&gt;rn                  &lt;td colspan=&quot;3&quot; style=&quot;text-align: right; padding-top: 20px;&quot;&gt;&lt;strong&gt;Subtotal:&lt;\/strong&gt;&lt;\/td&gt;rn                  &lt;td style=&quot;text-align: right; padding-top: 20px;&quot;&gt;&lt;strong&gt;$${order.subtotal.toFixed(2)}&lt;\/strong&gt;&lt;\/td&gt;rn                &lt;\/tr&gt;rn                &lt;tr&gt;rn                  &lt;td colspan=&quot;3&quot; style=&quot;text-align: right;&quot;&gt;&lt;strong&gt;Tax:&lt;\/strong&gt;&lt;\/td&gt;rn                  &lt;td style=&quot;text-align: right;&quot;&gt;&lt;strong&gt;$${order.tax.toFixed(2)}&lt;\/strong&gt;&lt;\/td&gt;rn                &lt;\/tr&gt;rn                &lt;tr class=&quot;total-row&quot;&gt;rn                  &lt;td colspan=&quot;3&quot; style=&quot;text-align: right; padding-top: 10px;&quot;&gt;&lt;strong&gt;Total:&lt;\/strong&gt;&lt;\/td&gt;rn                  &lt;td style=&quot;text-align: right; padding-top: 10px;&quot;&gt;&lt;strong&gt;$${order.total.toFixed(2)}&lt;\/strong&gt;&lt;\/td&gt;rn                &lt;\/tr&gt;rn              &lt;\/tbody&gt;rn            &lt;\/table&gt;rn          &lt;\/div&gt;rnrn          &lt;div style=&quot;margin-top: 30px;&quot;&gt;rn            &lt;p&gt;&lt;strong&gt;Shipping Address:&lt;\/strong&gt;&lt;\/p&gt;rn            &lt;p&gt;rn              ${order.shipping.address}&lt;br&gt;rn              ${order.shipping.city}, ${order.shipping.state} ${order.shipping.zipCode}rn            &lt;\/p&gt;rn          &lt;\/div&gt;rnrn          &lt;div style=&quot;margin-top: 30px;&quot;&gt;rn            &lt;p&gt;&lt;strong&gt;Payment Method:&lt;\/strong&gt; ${order.payment.method} (ending in ${order.payment.last4})&lt;\/p&gt;rn          &lt;\/div&gt;rnrn          &lt;div style=&quot;margin-top: 30px;&quot;&gt;rn            &lt;p&gt;If you have any questions about your order, please contact our customer support.&lt;\/p&gt;rn            &lt;p&gt;Thank you for shopping with us!&lt;\/p&gt;rn          &lt;\/div&gt;rn        &lt;\/div&gt;rnrn        &lt;div class=&quot;footer&quot;&gt;rn          &lt;p&gt;This is an automated email, please do not reply to this message.&lt;\/p&gt;rn          &lt;p&gt;\u00a9 2025 Your Company. All rights reserved.&lt;\/p&gt;rn        &lt;\/div&gt;rn      &lt;\/div&gt;rn    &lt;\/body&gt;rn    &lt;\/html&gt;rn  `;rnrn  return emailHtml;rn}\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Hier kombinieren Sie die Quittung mit dem Rest eines HTML-Vorlagen-Strings, der die Kundendetails enth\u00e4lt. Das HTML enth\u00e4lt ein Basic-Styling f\u00fcr die E-Mail-Vorlage.<\/p>\n\n\n\n<p>Erfahren Sie mehr in unserer <a href=\"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-html-e-mail-vorlagen\/\">Vorlagen f\u00fcr Transaktions-E-Mails<\/a> Seite, einschlie\u00dflich des Herunterladens von kostenlosen Vorlagen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementierung der Funktion f\u00fcr den E-Mail-Versand<\/h2>\n\n\n\n<p>Nun, da Ihre Vorlage bereit ist, ist es an der Zeit, die Funktion zu schreiben, die die E-Mail mithilfe der API von Mailgun versendet. So k\u00f6nnen Sie diese Funktionalit\u00e4t in Ihrem Backend implementieren:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                async function sendOrderConfirmationEmail(order) {rn  try {rnrn    let emailHtml = emailTemplate(order)rnrn    \/\/ Send email via Mailgunrn    const response = await mg.messages.create(MAILGUN_DOMAIN, {rn      from: `Your Store &lt;orders@${MAILGUN_DOMAIN}&gt;`,rn      to: order.customer.email,rn      subject: `Order Confirmation #${order.id}`,rn      html: emailHtml,rn      &#039;o:tag&#039;: [&#039;order-confirmation&#039;],rn      &#039;o:tracking&#039;: truern    });rnrn    console.log(&#039;Email sent successfully:&#039;, response);rn    return response;rnrn  } catch (error) {rn    console.error(&#039;Error sending confirmation email:&#039;, error);rn    throw error;rn  }rn}\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Diese Funktion nimmt ein Bestellobjekt entgegen, erstellt den E-Mail-Inhalt und versendet ihn \u00fcber die API von Mailgun. Die Optionen <code>o:tag<\/code> und <code>o:tracking<\/code> erm\u00f6glichen es Ihnen, die Zustellung und Interaktion der E-Mail zu verfolgen.<\/p>\n\n\n\n<p>Lassen Sie uns nun die Implementierung mit einem einfachen Bestellobjekt testen, um zu sehen, ob sie funktioniert:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                const testOrder = {rn  id: &quot;TEST123&quot;,rn  customer: {rn    name: &quot;Test User&quot;,rn    email: &quot;your-verified-email@example.com&quot; \/\/ Use one of your verified emails for testingrn  },rn  items: [rn    { name: &quot;Test Product&quot;, quantity: 1, price: 29.99 }rn  ],rn  subtotal: 29.99,rn  tax: 2.99,rn  total: 32.98,rn  shipping: {rn    address: &quot;123 Test Street&quot;,rn    city: &quot;Test City&quot;,rn    state: &quot;TS&quot;,rn    zipCode: &quot;12345&quot;rn  },rn  payment: {rn    method: &quot;Credit Card&quot;,rn    last4: &quot;4242&quot;rn  },rn  createdAt: new Date()rn};rnrnsendOrderConfirmationEmail(testOrder)rn  .then(response =&gt; {rn    console.log(&#039;Test email sent successfully!&#039;);rn    console.log(&#039;Message ID:&#039;, response.id);rn    console.log(&#039;Message status:&#039;, response.status);rn  })rn  .catch(error =&gt; {rn    console.error(&#039;Failed to send test email:&#039;, error.message);rn  });\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>F\u00fchren Sie diesen Code mit <code>node .\/src\/server.js<\/code> aus und \u00fcberpr\u00fcfen Sie Ihren Posteingang (denken Sie daran, eine verifizierte E-Mail-Adresse f\u00fcr den Wert <code>testOrder.customer.email<\/code> zu verwenden, wenn Sie die Sandbox-Domain von Mailgun nutzen). Sie sollten eine Basic-Bestellbest\u00e4tigungs-E-Mail mit den Testdaten erhalten:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4021\" width=\"1742\" height=\"1392\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_.png\" alt=\"Order Confirmation Image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_.png 1742w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_-1024x818.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_-768x614.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_-1536x1227.png 1536w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/6__3_-300x240.png 300w\" sizes=\"(max-width: 1742px) 100vw, 1742px\" \/><\/figure>\n\n\n\n<p>Bei dieser Einrichtung wird jeder auftretende Fehler an den Aufrufer weitergegeben, und die <code>.catch<\/code>-Methode gibt Protokolle auf der Standardausgabe aus. Dieser Ansatz erm\u00f6glicht es Ihnen, Probleme, die w\u00e4hrend des E-Mail-Versands auftreten k\u00f6nnten, schnell zu identifizieren und zu beheben.<\/p>\n\n\n\n<p>Im n\u00e4chsten Abschnitt werden Sie dies mit Ihrem Frontend verbinden, damit Sie echte Bestelldaten von Kunden-Checkouts versenden k\u00f6nnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integration mit Anwendungs-Events<\/h2>\n\n\n\n<p>Um sicherzustellen, dass der E-Mail-Workflow automatisch ausgel\u00f6st wird, wenn eine Bestellung best\u00e4tigt wird, m\u00fcssen Sie einen <a href=\"https:\/\/nodejs.org\/api\/events.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Event-Listener<\/a> oder <a href=\"https:\/\/expressjs.com\/en\/guide\/routing.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Route<\/a> in Ihrer Anwendung einrichten.<\/p>\n\n\n\n<p>Hier werden Sie eine Express.js-Anwendung einrichten und eine Route definieren, die Bestellbest\u00e4tigungen verarbeitet, w\u00e4hrend sie die Funktion <code>sendOrderConfirmationEmail<\/code> aufruft:<\/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 overflow-hidden\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                            <code class=\"language-PHP\">\r\n\r\n                                const express = require(&#039;express&#039;);rnconst cors = require(&#039;cors&#039;);rn...rnrn\/\/ Load environment variablesrnrequire(&#039;dotenv&#039;).config();rnrn\/\/ Initialize Expressrnconst app = express();rnconst PORT = process.env.PORT || 3000;rnrn\/\/ Middlewarernapp.use(cors());rnapp.use(express.json());rnrnconst orders = [];rnrnapp.post(&#039;\/api\/orders&#039;, async (req, res) =&gt; {rn  try {rn    \/\/ Validate required fieldsrn    if (!req.body.items || !req.body.customer || !req.body.customer.email) {rn      return res.status(400).json({ rn        success: false, rn        error: &#039;Missing required order information&#039; rn      });rn    }rnrn    \/\/ Generate order IDrn    const orderId = Date.now().toString(36) + Math.random().toString(36).substr(2, 5).toUpperCase();rnrn    \/\/ Create order objectrn    const order = {rn      id: orderId,rn      ...req.body,rn      status: &#039;confirmed&#039;,rn      createdAt: new Date()rn    };rnrn    \/\/ Save order (to database in a real app)rn    orders.push(order);rnrn    \/\/ Send confirmation emailrn    await sendOrderConfirmationEmail(order);rnrn    \/\/ Return success responsern    res.status(201).json({rn      success: true,rn      order: {rn        id: order.id,rn        status: order.status,rn        createdAt: order.createdAtrn      },rn      message: &#039;Order created successfully and confirmation email sent.&#039;rn    });rnrn  } catch (error) {rn    console.error(&#039;Error processing order:&#039;, error);rn    res.status(500).json({rn      success: false,rn      error: &#039;Failed to process order&#039;rn    });rn  }rn});\r\n                            <\/code>\r\n                        <\/pre>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p>Die Route <code>\/api\/orders<\/code> verarbeitet eingehende Bestellanfragen, erstellt ein <code>order<\/code>-Objekt und versendet eine Best\u00e4tigungs-E-Mail mithilfe der Funktion <code>sendOrderConfirmationEmail<\/code>. Der Rest der Route enth\u00e4lt eine einfache Logik f\u00fcr das Fehler-Reporting, aber in der Produktion m\u00f6chten Sie vielleicht einen Wiederholungsmechanismus oder einen robusteren Error-Handler implementieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testen des Workflows<\/h2>\n\n\n\n<p>Um die bisherige Einrichtung zu testen, m\u00fcssen Sie die Datei <code>\/ui\/index.html<\/code> modifizieren. Suchen Sie zun\u00e4chst die Codezeile, in der das <code>orderData<\/code>-Objekt definiert ist, und aktualisieren Sie die E-Mail-Eigenschaft des Kunden (<code>orderData.customer.email<\/code>), um eine Ihrer verifizierten E-Mails zu verwenden. Sie m\u00fcssen auch die Konstante <code>api<\/code> aktualisieren, damit sie auf die URL Ihres Servers verweist.<\/p>\n\n\n\n<p>\u00d6ffnen Sie dann die Datei <code>\/ui\/index.html<\/code> in einem Browser und l\u00f6sen Sie den Checkout-Vorgang aus, indem Sie Artikel f\u00fcr den Checkout ausw\u00e4hlen und auf den Button <b>Checkout Selected Items<\/b> klicken. Dies sollte einen Best\u00e4tigungsdialog \u00f6ffnen, in dem Sie auf <b>Confirm Purchase<\/b> klicken k\u00f6nnen, um den Checkout-Prozess abzuschlie\u00dfen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-5031\" width=\"1734\" height=\"1046\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_.png\" alt=\"Confirm Order Image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_.png 1734w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_-300x181.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_-768x463.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_-1024x618.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/7__2_-1536x927.png 1536w\" sizes=\"(max-width: 1734px) 100vw, 1734px\" \/><\/figure>\n\n\n\n<p>\u00dcberpr\u00fcfen Sie Ihren E-Mail-Posteingang und vergewissern Sie sich, dass die E-Mail versendet und mit dem dynamischen Content korrekt gerendert wurde. Wenn Sie die Sandbox-Domain verwendet haben, m\u00fcssen Sie m\u00f6glicherweise Ihren Spam-Ordner \u00fcberpr\u00fcfen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-5032\" width=\"1742\" height=\"1470\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_.png\" alt=\"Order Confirmation Email Image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_.png 1742w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_-300x253.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_-768x648.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_-1024x864.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/8__2_-1536x1296.png 1536w\" sizes=\"(max-width: 1742px) 100vw, 1742px\" \/><\/figure>\n\n\n\n<p>Denken Sie daran, zu testen, wie Ihre Anwendung mit Fehlern umgeht, wie z. B. ung\u00fcltigen E-Mail-Adressen oder API-Ausfallzeiten, indem Sie absichtlich falsche Werte verwenden und \u00fcberpr\u00fcfen, ob Ihre Fehlerbehandlung wie erwartet funktioniert.<\/p>\n\n\n\n<p>Der gesamte in diesem Tutorial verwendete Code ist verf\u00fcgbar auf <a href=\"https:\/\/github.com\/Ikeh-Akinyemi\/draftdev-mailgunner\" target=\"_tabs\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00dcberwachung und Verwaltung von E-Mails<\/h2>\n\n\n\n<p>Mailgun bietet detaillierte Metriken und Tracking-Funktionen, mit denen Sie die Leistung Ihrer Transaktions-E-Mails \u00fcberwachen k\u00f6nnen. Zus\u00e4tzlich zur Bearbeitung von Bounces oder Fehlern k\u00f6nnen Sie Zustellraten und \u00d6ffnungsraten direkt vom Mailgun-Dashboard aus verfolgen.<\/p>\n\n\n\n<p>Um auf die Protokolle jeder versendeten E-Mail zuzugreifen, navigieren Sie in Ihrem Mailgun-Konto zum Abschnitt <b>Mailgun Send &gt; Kampagnen\u00fcbersicht &gt; Protokolle<\/b>. Hier k\u00f6nnen Sie den Zeitstempel und Status jeder versendeten E-Mail sehen, einschlie\u00dflich der Information, ob sie zugestellt, ge\u00f6ffnet oder abgelehnt wurde:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-5033\" width=\"1742\" height=\"1050\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_.png\" alt=\"Email logs image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_.png 1742w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_-300x181.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_-768x463.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_-1024x617.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/9__2_-1536x926.png 1536w\" sizes=\"(max-width: 1742px) 100vw, 1742px\" \/><\/figure>\n\n\n\n<p>Sie k\u00f6nnen auf einen beliebigen Protokolleintrag klicken, um dessen vollst\u00e4ndige Details anzuzeigen, wie z. B. <code>geolocation<\/code> f\u00fcr ge\u00f6ffnete E-Mails, <code>delivery-status<\/code> f\u00fcr zugestellte E-Mails und andere:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-5034\" width=\"1760\" height=\"1056\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_.png\" alt=\"Email Log Details Image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_.png 1760w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_-300x180.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_-768x461.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_-1024x614.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/10__1_-1536x922.png 1536w\" sizes=\"(max-width: 1760px) 100vw, 1760px\" \/><\/figure>\n\n\n\n<p>Sie k\u00f6nnen auch zu <b>Mailgun Send &gt; Kampagnen\u00fcbersicht &gt; Metrics<\/b> gehen, um eine grafische Aufschl\u00fcsselung der wichtigsten E-Mail-Metriken anzuzeigen, einschlie\u00dflich der Anzahl der versendeten, zugestellten, fehlgeschlagenen und ge\u00f6ffneten E-Mails:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-5035\" width=\"1746\" height=\"1058\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_.png\" alt=\"Key Email Metrics Image\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_.png 1746w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_-300x182.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_-768x465.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_-1024x620.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/11__1_-1536x931.png 1536w\" sizes=\"(max-width: 1746px) 100vw, 1746px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<p>Sie haben soeben einen funktionierenden Bestellbest\u00e4tigungs-Workflow mit der API von Mailgun erstellt. <\/p>\n\n\n\n<p>Transaktions-E-Mails wie diese halten Kunden direkt nach dem Checkout auf dem Laufenden, was Support-Tickets reduziert und das Vertrauen ohne zus\u00e4tzlichen Aufwand st\u00e4rkt. Bestellbest\u00e4tigungen sind nicht die einzigen W<a href=\"https:\/\/www.mailgun.com\/blog\/email\/transactional-email-unsung-hero\/\" target=\"_tabs\" rel=\"noopener noreferrer\">orkflows, die f\u00fcr Verbraucher von Bedeutung sind.<\/a> Sehen Sie sich unser Tutorial \u00fcber <a href=\"https:\/\/www.mailgun.com\/blog\/dev-life\/how-to-build-transactional-password-reset-email-workflows\/\" target=\"_tabs\" rel=\"noopener noreferrer\">passwort zur\u00fccksetzen<\/a> an, um Ihre Transaktions-E-Mails weiter zu optimieren. <\/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_39359b60d6ac3e67c31a63238c6b1b78\">\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_39359b60d6ac3e67c31a63238c6b1b78\">\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>Im Gegensatz zu Marketing-E-Mails werden Transaktions-E-Mails (wie Bestellbest\u00e4tigungen, Versandbenachrichtigungen und das Zur\u00fccksetzen von Passw\u00f6rtern) durch bestimmte Nutzeraktionen ausgel\u00f6st und bieten Echtzeit-Aktualisierungen zu ihren Interaktionen mit Ihrer Plattform. Sie helfen dabei, Vertrauen aufzubauen, Support-Anfragen zu reduzieren und sorgen f\u00fcr ein reibungsloses Einkaufserlebnis. Bestellbest\u00e4tigungen sind besonders wichtig, da sie Ihre Kunden wissen lassen, dass ihr Kauf erfolgreich [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[19],"class_list":["post-13391","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-dev-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Learn how to create transactional order confirmation email workflows using Mailgun&#039;s API. Follow along in our developer tutorial for our best practices.\" \/>\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\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Learn how to create transactional order confirmation email workflows using Mailgun&#039;s API. Follow along in our developer tutorial for our best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-30T04:28:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.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=\"9\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\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/\",\"name\":\"Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2025-05-15T00:00:00+00:00\",\"dateModified\":\"2026-04-30T04:28:02+00:00\",\"description\":\"Learn how to create transactional order confirmation email workflows using Mailgun's API. Follow along in our developer tutorial for our best practices.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\\\/#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\":\"Erstellen von Transaktions-E-Mail-Workflows f\u00fcr Bestellbest\u00e4tigungen mit der API von Mailgun\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Powerful Transactional Email APIs that enable you to send, receive, and track emails, built with developers in mind. Learn more today!\",\"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":"Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun","description":"Learn how to create transactional order confirmation email workflows using Mailgun's API. Follow along in our developer tutorial for our best practices.","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\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/","og_locale":"de_DE","og_type":"article","og_title":"Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun","og_description":"Learn how to create transactional order confirmation email workflows using Mailgun's API. Follow along in our developer tutorial for our best practices.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-04-30T04:28:02+00:00","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/","url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/","name":"Build transactional order confirmation workflows with Mailgun - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2025-05-15T00:00:00+00:00","dateModified":"2026-04-30T04:28:02+00:00","description":"Learn how to create transactional order confirmation email workflows using Mailgun's API. Follow along in our developer tutorial for our best practices.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/wie-man-transaktions-e-mail-workflows-fuer-bestellbestaetigungen-erstellt\/#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":"Erstellen von Transaktions-E-Mail-Workflows f\u00fcr Bestellbest\u00e4tigungen mit der API von Mailgun"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Powerful Transactional Email APIs that enable you to send, receive, and track emails, built with developers in mind. Learn more today!","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\/13391","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\/7"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/13391\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=13391"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=13391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}