{"id":20226,"date":"2026-09-14T22:52:52","date_gmt":"2026-09-14T22:52:52","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/transaktions-emails-nodejs-app-mailgun-api-versenden\/"},"modified":"2026-09-14T22:52:52","modified_gmt":"2026-09-14T22:52:52","slug":"transaktions-emails-nodejs-app-mailgun-api-versenden","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/","title":{"rendered":"Transaktions-E-Mails in einer NodeJS-App \u00fcber die Mailgun-API versenden"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sie profitieren nicht nur von leistungsstarkem Re-Engagement basierend auf Triggern, Aktionen und Mustern, sondern kommunizieren auch wichtige Informationen <strong><em>automatisch<\/em><\/strong> zwischen Ihrer Plattform und Ihrer Kundschaft.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es ist sehr wahrscheinlich, dass Sie in Ihrer Laufbahn in der Softwareentwicklung irgendwann automatisierte Transaktions-E-Mails versenden m\u00fcssen (falls das nicht ohnehin schon der Fall ist), wie zum Beispiel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Best\u00e4tigungs-E-Mails<\/li>\n\n\n\n<li>Passworterinnerungen<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u2026 und viele weitere Arten von Benachrichtigungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Tutorial erfahren Sie, <strong>wie Sie Transaktions-E-Mails \u00fcber die Mailgun-API und eine NodeJS-Hilfsbibliothek versenden<\/strong>. <\/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-1643\"><p class=\"h5 m-0\" id=\"toc-title-1643\">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=\"#wir-behandeln-dabei-verschiedene-szenarien\">Wir behandeln dabei verschiedene Szenarien:<\/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-mails-versenden-smtp-oder-api\">E-Mails versenden: SMTP oder API\u00a0<\/a><a class=\"scrollme link-body-color\" href=\"#erste-schritte-mit-ihrer-node-js-app\">Erste Schritte mit Ihrer Node.js-App<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-1-projektinitialisierung\">Schritt 1: Projektinitialisierung<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-2-eine-einfache-expressjs-app-einrichten\">Schritt 2: Eine einfache ExpressJS-App einrichten<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-3-view-und-javascript-dateien-erstellen\">Schritt 3: View- und JavaScript-Dateien erstellen:<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-4-anwendung-ausfuehren\">Schritt 4: Anwendung ausf\u00fchren<\/a><a class=\"scrollme link-body-color\" href=\"#so-funktioniert-die-app\">So funktioniert die App<\/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=\"#praxisbeispiele-e-mails-mit-der-mailgun-node-js-api-versenden\">Praxisbeispiele: E-Mails mit der Mailgun-Node.js-API versenden\u00a0<\/a><a class=\"scrollme link-body-color\" href=\"#versand-einer-einzelnen-transaktions-e-mail\">Versand einer einzelnen Transaktions-E-Mail\u00a0<\/a><a class=\"scrollme link-body-color\" href=\"#hinzufuegen-von-e-mail-adressen-zu-einer-liste\">Hinzuf\u00fcgen von E-Mail-Adressen zu einer Liste\u00a0<\/a><a class=\"scrollme link-body-color\" href=\"#versand-einer-rechnung-mit-anhang\">Versand einer Rechnung mit Anhang\u00a0<\/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=\"#den-node-js-e-mail-absender-fertigstellen\">Den Node.js-E-Mail-Absender fertigstellen<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Wir behandeln dabei verschiedene Szenarien:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Versand einer einzelnen Transaktions-E-Mail<\/li>\n\n\n\n<li>Versand eines Newsletters an eine E-Mail-Liste<\/li>\n\n\n\n<li>Hinzuf\u00fcgen von E-Mail-Adressen zu einer Liste<\/li>\n\n\n\n<li>Versand einer Rechnung an eine einzelne E-Mail-Adresse<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">E-Mails versenden: SMTP oder API\u00a0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Versand von E-Mails aus einer Node.js-App k\u00f6nnen Sie einen direkten SMTP-Client oder eine E-Mail-API verwenden. Bisher nutzten Entwicklungsteams oft Bibliotheken wie Nodemailer, um eine direkte Verbindung zu einem SMTP-Server zu konfigurieren. SMTP bietet zwar Kontrolle, bringt aber einige Nachteile mit sich, wie etwa eine komplexe Konfiguration und eine schlechte Zustellbarkeit.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der API-Ansatz, wie ihn auch Mailgun nutzt, vereinfacht den gesamten Prozess. Anstatt das zugrunde liegende Protokoll zu verwalten, stellen Sie lediglich eine einfache HTTP-Anfrage. Die zuverl\u00e4ssige Infrastruktur von Mailgun \u00fcbernimmt die SMTP-Kommunikation f\u00fcr Sie und sorgt f\u00fcr eine bessere Zustellbarkeit sowie integrierte Funktionen wie Analysen und E-Mail-Validierung.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erste Schritte mit Ihrer Node.js-App<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Abschnitt f\u00fchrt Sie durch die Einrichtung Ihres Projekts und die Inbetriebnahme Ihrer App.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1: Projektinitialisierung<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wir gehen davon aus, dass Sie die NodeJS-Umgebung installiert haben und sich damit auskennen.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst generieren wir eine <code>package.json<\/code>-Datei in einem neuen Verzeichnis (in diesem Fall <code>\/mailgun_nodetut<\/code>). Diese Datei enth\u00e4lt Details <strong>wie den Projektnamen und die erforderlichen Abh\u00e4ngigkeiten<\/strong>.\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                                    {\r\n  &quot;name&quot;: &quot;mailgun-node-tutorial&quot;,\r\n  &quot;version&quot;: &quot;0.0.1&quot;,\r\n  &quot;private&quot;: true,\r\n  &quot;scripts&quot;: {\r\n    &quot;start&quot;: &quot;node app.js&quot;\r\n  },\r\n  &quot;dependencies&quot;: {\r\n    &quot;express&quot;: &quot;4&quot;,\r\n    &quot;jade&quot;: &quot;*&quot;,\r\n    &quot;mailgun-js&quot;: &quot;0.5&quot;\r\n  }\r\n}\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\">Wie Sie sehen, verwenden wir <code>expressjs<\/code> f\u00fcr das Grundger\u00fcst unserer Web-App, <code>jade<\/code> als Template-Engine und schlie\u00dflich eine von der Community bereitgestellte Node-Bibliothek von <a href=\"https:\/\/www.npmjs.org\/~bojand\" target=\"_blank\" rel=\"noreferrer noopener\">bojand<\/a>.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Erstellen Sie im selben Ordner, in dem Sie die <code>package.json<\/code>-Datei erstellt haben, zwei weitere Ordner: <code>views\/ js\/\u00a0<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alles ist bereit \u2013 melden Sie sich einfach bei <a href=\"https:\/\/signup.mailgun.com\/new\/signup\" target=\"_blank\" rel=\"noreferrer noopener\">Mailgun<\/a> an (das ist kostenlos, falls Sie noch kein Konto haben) und rufen Sie Ihren API-Schl\u00fcssel von der Startseite des Control Panels ab.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2: Eine einfache ExpressJS-App einrichten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Speichern Sie den folgenden Code als <code>app.js<\/code> im Stammverzeichnis Ihrer App (dort, wo sich <code>package.json<\/code> befindet)\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                                    \/\/We&#039;re using the express framework and the mailgun-js wrapper\r\nvar express = require(&#039;express&#039;);\r\nvar Mailgun = require(&#039;mailgun-js&#039;);\r\n\/\/init express\r\nvar app = express();\r\n\r\n\/\/Your api key, from Mailgun\u2019s Control Panel\r\nvar api_key = &#039;MAILGUN-API-KEY&#039;;\r\n\r\n\/\/Your domain, from the Mailgun Control Panel\r\nvar domain = &#039;YOUR-DOMAIN.com&#039;;\r\n\r\n\/\/Your sending email address\r\nvar from_who = &#039;your@email.com&#039;;\r\n\r\n\/\/Tell express to fetch files from the \/js directory\r\napp.use(express.static(__dirname + &#039;\/js&#039;));\r\n\/\/We&#039;re using the Jade templating language because it&#039;s fast and neat\r\napp.set(&#039;view engine&#039;, &#039;jade&#039;)\r\n\r\n\/\/Do something when you&#039;re landing on the first page\r\napp.get(&#039;\/&#039;, function(req, res) {\r\n\/\/render the index.jade file - input forms for humans\r\nres.render(&#039;index&#039;, function(err, html) {\r\nif (err) {\r\n\/\/ log any error to the console for debug\r\nconsole.log(err); \r\n}\r\nelse { \r\n\/\/no error, so send the html to the browser\r\nres.send(html)\r\n};\r\n});\r\n});\r\n\r\n\/\/ Send a message to the specified email address when you navigate to \/submit\/someaddr@email.com\r\n\/\/ The index redirects here\r\napp.get(&#039;\/submit\/:mail&#039;, function(req,res) {\r\n\r\n\/\/We pass the api_key and domain to the wrapper, or it won&#039;t be able to identify + send emails\r\nvar mailgun = new Mailgun({apiKey: api_key, domain: domain});\r\n\r\nvar data = {\r\n\/\/Specify email data\r\nfrom: from_who,\r\n\/\/The email to contact\r\nto: req.params.mail,\r\n\/\/Subject and text data  \r\nsubject: &#039;Hello from Mailgun&#039;,\r\nhtml: &#039;Hello, This is not a plain-text email, I wanted to test some spicy Mailgun sauce in NodeJS! &lt;a href=&quot;http:\/\/0.0.0.0:3030\/validate?&amp;apos; + req.params.mail + &amp;apos;&quot;&gt;Click here to add your email address to a mailing list&lt;\/a&gt;&#039;\r\n}\r\n\r\n\/\/Invokes the method to send emails given the above data with the helper library\r\nmailgun.messages().send(data, function (err, body) {\r\n\/\/If there is an error, render the error page\r\nif (err) {\r\nres.render(&#039;error&#039;, { error : err});\r\nconsole.log(&quot;got an error: &quot;, err);\r\n}\r\n\/\/Else we can greet    and leave\r\nelse {\r\n\/\/Here &quot;submitted.jade&quot; is the view file for this landing page \r\n\/\/We pass the variable &quot;email&quot; from the url parameter in an object rendered by Jade\r\nres.render(&#039;submitted&#039;, { email : req.params.mail });\r\nconsole.log(body);\r\n}\r\n});\r\n\r\n});\r\n\r\napp.get(&#039;\/validate\/:mail&#039;, function(req,res) {\r\nvar mailgun = new Mailgun({apiKey: api_key, domain: domain});\r\n\r\nvar members = [\r\n{\r\naddress: req.params.mail\r\n}\r\n];\r\n\/\/For the sake of this tutorial you need to create a mailing list on Mailgun.com\/cp\/lists and put its address below\r\nmailgun.lists(&#039;NAME@MAILINGLIST.COM&#039;).members().add({ members: members, subscribed: true }, function (err, body) {\r\nconsole.log(body);\r\nif (err) {\r\nres.send(&quot;Error - check console&quot;);\r\n}\r\nelse {\r\nres.send(&quot;Added to mailing list&quot;);\r\n}\r\n});\r\n\r\n})\r\n\r\napp.get(&#039;\/invoice\/:mail&#039;, function(req,res){\r\n\/\/Which file to send? I made an empty invoice.txt file in the root directory\r\n\/\/We required the path module here..to find the full path to attach the file!\r\nvar path = require(&quot;path&quot;);\r\nvar fp = path.join(__dirname, &#039;invoice.txt&#039;);\r\n\/\/Settings\r\nvar mailgun = new Mailgun({apiKey: api_key, domain: domain});\r\n\r\nvar data = {\r\nfrom: from_who,\r\nto: req.params.mail,\r\nsubject: &#039;An invoice from your friendly hackers&#039;,\r\ntext: &#039;A fake invoice should be attached, it is just an empty text file after all&#039;,\r\nattachment: fp\r\n};\r\n\r\n\/\/Sending the email with attachment109    mailgun.messages().send(data, function (error, body) {\r\nif (error) {\r\nres.render(&#039;error&#039;, {error: error});\r\n}\r\nelse {\r\nres.send(&quot;Attachment is on its way&quot;);\r\nconsole.log(&quot;attachment sent&quot;, fp);\r\n}\r\n});\r\n})\r\n\r\napp.listen(3030);\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3: View- und JavaScript-Dateien erstellen:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Speichern Sie den folgenden Code als <code>index.jade<\/code> im Verzeichnis <code>\/views<\/code><\/em><\/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\">\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-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    doctype html\r\nhtml\r\nhead\r\ntitle Mailgun Transactional demo in NodeJS\r\nbody\r\np Welcome to a Mailgun form\r\nform(id=&quot;mgform&quot;)\r\nlabel(for=&quot;mail&quot;) Email\r\ninput(type=&quot;text&quot; id=&quot;mail&quot; placeholder=&quot;Youremail@address.com&quot;)\r\nbutton(value=&quot;bulk&quot; onclick=&quot;mgform.hid=this.value&quot;) Send transactional\r\nbutton(value=&quot;list&quot; onclick=&quot;mgform.hid=this.value&quot;) Add to list\r\nbutton(value=&quot;inv&quot; onclick=&quot;mgform.hid=this.value&quot;) Send invoice\r\nscript(type=&quot;text\/javascript&quot; src=&quot;main.js&quot;)\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\"><i>Speichern Sie den folgenden Code als\u00a0<\/i><i><code>error.jade<\/code><\/i><i>\u00a0im Verzeichnis \/views<\/i><\/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\">\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-markup\">\r\n                                <code id=\"code_0_content\" class=\"language-markup\">\r\n\r\n                                    doctype html\r\nhtml\r\nhead\r\ntitle Mailgun Transactional\r\nbody\r\np Well that&#039;s awkward: #{error}\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\"><i>Speichern Sie den folgenden Code als\u00a0<\/i><i><code>main.js<\/code><\/i><i>\u00a0im Verzeichnis \/js<\/i><\/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                                    var vForm = document.getElementById(&#039;mgform&#039;);\r\nvar vInput = document.getElementById(&#039;mail&#039;);\r\n\r\nvForm.onsubmit = function() {\r\nif (this.hid == &quot;bulk&quot;) {\r\nlocation = &quot;\/submit\/&quot; + encodeURIComponent(vInput.value);\r\n}\r\nif (this.hid == &quot;list&quot;) {\r\nlocation = &quot;\/validate\/&quot; + encodeURIComponent(vInput.value);\r\n}\r\nif (this.hid == &quot;inv&quot;) {\r\nlocation = &quot;\/invoice\/&quot; + encodeURIComponent(vInput.value);\r\n}\r\n\r\nreturn false;\r\n}\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\">Erstellen Sie abschlie\u00dfend eine leere <code>invoice.txt<\/code>-Datei in Ihrem Stammordner. Diese Datei wird als Anhang versendet.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 4: Anwendung ausf\u00fchren<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>F\u00fchren Sie <code>npm install<\/code> (oder in einigen F\u00e4llen <code>sudo npm install<\/code>, abh\u00e4ngig von Ihrer Installationsmethode) aus, um Abh\u00e4ngigkeiten wie Express herunterzuladen.\u00a0<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Sobald dies erledigt ist, f\u00fchren Sie <code>node app.js\u00a0<\/code> aus.<\/li>\n<\/ol>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Navigieren Sie in Ihrem Browser zu <code>localhost:3030<\/code> (oder <code>0.0.0.0:3030<\/code>)\u00a0<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Mit diesen drei einfachen Schritten k\u00f6nnen Sie direkt damit beginnen, Transaktions-E-Mails nach Bedarf zu versenden.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">So funktioniert die App<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das oben Gezeigte ist eine einfache Express-App, die auf Ihrem lokalen Rechner \u00fcber den Port\u00a0<code>3030<\/code> ausgef\u00fchrt wird. Wir haben festgelegt, dass sie expressjs und den mailgun-js-Wrapper verwendet. Dies sind bekannte Bibliotheken, mit denen wir\u00a0<b>schnell eine kleine Website einrichten k\u00f6nnen<\/b>,\u00a0\u00fcber die sich per Trigger E-Mails an die eigene Adresse versenden lassen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Die Endpunkte<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Wir haben vier Endpunkte definiert.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>\/<\/code><\/li>\n\n\n\n<li><code>\/submit\/:mail<\/code><\/li>\n\n\n\n<li><code>\/validate\/:mail<\/code><\/li>\n\n\n\n<li><code>\/invoice\/:mail<\/code><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Wobei\u00a0<code>:mail<\/code>\u00a0Ihre g\u00fcltige E-Mail-Adresse ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Navigieren zu einem Endpunkt sendet Express eine andere View an den Browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Hintergrund \u00fcbernimmt Express die vom Browser bereitgestellte Eingabe und verarbeitet sie mithilfe der\u00a0<code>mailgun-js<\/code>-Bibliothek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im ersten Fall navigieren wir zum Stammverzeichnis, also zu\u00a0<code>localhost:3030\/<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie Sie sehen, gibt es ein Eingabefeld, in dem Ihre E-Mail-Adresse abgefragt wird. Auf diese Weise\u00a0<b>senden Sie sich selbst eine ansprechende Transaktions-E-Mail.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das liegt daran, dass expressjs Ihre E-Mail-Adresse aus dem URL-Parameter \u00fcbernimmt und unter Verwendung Ihres API-Schl\u00fcssels sowie Ihrer Domain einen API-Aufruf an den Endpunkt durchf\u00fchrt, um E-Mails zu versenden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jeder Endpunkt ruft ein anderes Layout auf. Den Code f\u00fcr die grundlegenden Layouts finden Sie weiter unten. Sie k\u00f6nnen ihn nach Belieben anpassen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Praxisbeispiele: E-Mails mit der Mailgun-Node.js-API versenden\u00a0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In unserem Beispiel haben wir gesehen, wie sich eine Transaktions-E-Mail automatisch versenden l\u00e4sst, wenn jemand eine bestimmte Aktion ausl\u00f6st.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Versand einer einzelnen Transaktions-E-Mail\u00a0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie zum Stammverzeichnis <code>localhost:3030\/<\/code> navigieren, sehen Sie ein Eingabefeld f\u00fcr Ihre E-Mail-Adresse. Auf diese Weise senden Sie sich selbst eine ansprechende Transaktions-E-Mail.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hinzuf\u00fcgen von E-Mail-Adressen zu einer Liste\u00a0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Endpunkt <code>\/validate\/:mail<\/code> zeigt, wie sich eine E-Mail-Adresse zu einer Mailingliste hinzuf\u00fcgen l\u00e4sst. F\u00fcr dieses Tutorial m\u00fcssen Sie eine Mailingliste auf <code>Mailgun.com\/cp\/lists<\/code> erstellen und deren Adresse in den <code>app.js<\/code>-Code einf\u00fcgen.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Versand einer Rechnung mit Anhang\u00a0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Endpunkt <code>\/invoice\/:mail<\/code> zeigt, wie ein Anhang versendet wird. Wir haben das Pfad-Modul angefordert, um den vollst\u00e4ndigen Pfad zu ermitteln, damit die leere <code>invoice.txt<\/code>-Datei in Ihrem Stammverzeichnis angeh\u00e4ngt werden kann.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Den Node.js-E-Mail-Absender fertigstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In unserem Beispiel haben wir gesehen, wie sich eine Transaktions-E-Mail automatisch versenden l\u00e4sst, wenn eine bestimmte Aktion ausgel\u00f6st wird \u2013 in unserem speziellen Fall das Absenden des Formulars.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt\u00a0<b>Tausende von Anwendungen, an die Sie dieses Szenario anpassen k\u00f6nnten<\/b>. Der E-Mail-Versand kann f\u00fcr Folgendes genutzt werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Kontoregistrierung auf einer Website sowie eine\u00a0<i>Willkommensnachricht<\/i><\/li>\n\n\n\n<li>Das Zur\u00fccksetzen eines Passworts<\/li>\n\n\n\n<li>Die Best\u00e4tigung von K\u00e4ufen oder kritischen Aktionen (Kontol\u00f6schung)<\/li>\n\n\n\n<li>Zwei-Faktor-Authentifizierung mit mehreren E-Mail-Adressen<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Wof\u00fcr nutzen Sie Transaktions-E-Mails in Ihrem Gesch\u00e4ftsalltag?<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Versand von Transaktions-E-Mails ist unabh\u00e4ngig von Ihren Tools ganz einfach. Wenn Sie eine NodeJS-Hilfsbibliothek verwenden, unterst\u00fctzt Sie diese Anleitung bei der Einrichtung in Mailgun.<\/p>\n","protected":false},"author":13,"featured_media":4074,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[20],"class_list":["post-20226","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>So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.\" \/>\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\/transaktions-emails-nodejs-app-mailgun-api-versenden\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/\" \/>\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=\"5\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\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/\",\"name\":\"So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"datePublished\":\"2026-09-14T22:52:52+00:00\",\"description\":\"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/email\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/#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\\\/transaktions-emails-nodejs-app-mailgun-api-versenden\\\/#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\":\"Transaktions-E-Mails in einer NodeJS-App \u00fcber die Mailgun-API versenden\"}]},{\"@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":"So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun","description":"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.","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\/transaktions-emails-nodejs-app-mailgun-api-versenden\/","og_locale":"de_DE","og_type":"article","og_title":"So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun","og_description":"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/","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":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/","url":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/","name":"So versenden Sie E-Mails in NodeJS: SMTP- und API-Beispiele - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","datePublished":"2026-09-14T22:52:52+00:00","description":"Erfahren Sie, wie Sie E-Mails in Node.js mit der Mailgun-API versenden. Entdecken Sie vollst\u00e4ndige Code-Beispiele f\u00fcr den Versand von Transaktions-E-Mails, Anh\u00e4ngen und vielem mehr.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/email\/transaktions-emails-nodejs-app-mailgun-api-versenden\/#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\/transaktions-emails-nodejs-app-mailgun-api-versenden\/#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":"Transaktions-E-Mails in einer NodeJS-App \u00fcber die Mailgun-API versenden"}]},{"@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\/20226","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\/20226\/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=20226"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=20226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}