{"id":24440,"date":"2026-09-16T11:48:27","date_gmt":"2026-09-16T11:48:27","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/"},"modified":"2026-09-16T11:48:27","modified_gmt":"2026-09-16T11:48:27","slug":"demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/","title":{"rendered":"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Im Januar\u00a0<a href=\"\/?blog_category=native-mailgun-integration-lets-meteor-apps-send-email\" target=\"_tabs\" rel=\"noopener noreferrer\">gaben wir unsere Partnerschaft mit Meteor bekannt,\u00a0<\/a>um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Werfen Sie als Beispiel einen Blick auf\u00a0<a href=\"\/?blog_category=create-a-web-app-from-scratch-in-under-5-minutes-with\" target=\"_tabs\" rel=\"noopener noreferrer\">dieses Formular zur Event-Registrierung<\/a> an, \u00fcber das wir k\u00fcrzlich berichtet haben. Heute m\u00f6chten wir jedoch ein weiteres Beispiel f\u00fcr die Mailgun-Integration mit Meteor demonstrieren.<\/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-7005\"><p class=\"h5 m-0\" id=\"toc-title-7005\">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=\"#geolocation-fuer-e-mails\">Geolocation f\u00fcr E-Mails<\/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-demo\">Die Demo<\/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=\"#e-mails-mit-meteor-versenden\">E-Mails mit Meteor versenden<\/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=\"#konfiguration-fuer-den-versand-ueber-die-api\">Konfiguration f\u00fcr den Versand \u00fcber die API<\/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=\"#west-sideeast-sideserver-side\">West side\u2026east side\u2026server side\u2026<\/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=\"#webhooks-konfigurieren\">Webhooks konfigurieren<\/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=\"#alles-zusammensetzen\">Alles zusammensetzen<\/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=\"#fertig\">Fertig.<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Geolocation f\u00fcr E-Mails<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vor ein paar Wochen haben wir neue Parameter f\u00fcr unsere\u00a0<a href=\"\/?blog_category=geolocation-and-user-agent-detection-now-available-in-web-hooks\" target=\"_tabs\" rel=\"noopener noreferrer\">Webhooks eingef\u00fchrt, um Geolocation- und User-Agent-Informationen f\u00fcr Ihre E-Mails abzurufen,<\/a>\u00a0ohne UA-Strings parsen oder IP-Lookup-Bibliotheken nutzen zu m\u00fcssen. Wir dachten, es w\u00e4re spannend, eine kleine App auf Basis von Meteor zu entwickeln, um zu demonstrieren, wie einfach es ist, diese neuen Parameter zu nutzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Demo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Klicken Sie auf die untenstehende Demo, um sie in Aktion zu sehen, und\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-meteor-demo\" target=\"_tabs\" rel=\"noopener noreferrer\">laden Sie den Quellcode der App von GitHub herunter,<\/a>\u00a0damit Sie damit experimentieren und Ihre eigene App oder Ihren eigenen Bericht erstellen k\u00f6nnen. Wenn Sie die Demo getestet haben, kehren Sie hierher zur\u00fcck. Wir gehen dann genauer darauf ein, wie wir sie entwickelt haben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">E-Mails mit Meteor versenden<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Versenden Sie E-Mails mit Mailgun ganz einfach \u00fcber Standard-SMTP oder die Mailgun-HTTP-API. Wenn Sie lediglich eine einfache SMTP-Versandfunktion in Ihrer Meteor-Anwendung ben\u00f6tigen, f\u00fcgen Sie zun\u00e4chst das E-Mail-Paket zu Ihrem Projekt hinzu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&gt;&gt; meteor add email<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Ausf\u00fchrung dieses Befehls wird automatisch ein Standard-Mailgun-Konto konfiguriert. Zudem legt Meteor automatisch die Umgebungsvariable MAIL_URL fest, die die SMTP-Konfiguration speichert.<b>\u00a0<\/b>(Weitere Informationen finden Sie in der E-Mail-Dokumentation auf der Meteor-Website.\u00a0<a href=\"http:\/\/docs.meteor.com\/#email\" target=\"_tabs\" rel=\"noopener noreferrer\">hier<\/a>. Wie im letzten Absatz erw\u00e4hnt, l\u00e4sst sich der Versand auch ohne das E-Mail-Paket testen: Standardm\u00e4\u00dfig werden E-Mails direkt in der Konsole ausgegeben).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr diese Demo gehen wir \u00fcber den grundlegenden E-Mail-Versand hinaus. Deshalb nutzen wir direkt ein Mailgun-Konto sowie die HTTP-API (\u00fcbrigens: Bei der Nutzung der API setzt Mailgun den MIME serverseitig zusammen, was die Handhabung selbst bei einfachem E-Mail-Versand etwas erleichtert).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguration f\u00fcr den Versand \u00fcber die API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kopieren Sie zun\u00e4chst Ihren API-Schl\u00fcssel aus dem Mailgun-Control-Panel. Dieser wird Ihnen nach der Anmeldung angezeigt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die API wird mit einer einfachen HTTP-POST-Anfrage aufgerufen. F\u00fcgen Sie dazu das http-Paket von Meteor zu Ihrem Projekt hinzu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&gt;&gt; meteor add http<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Installation des http-Pakets f\u00fchren Sie in Ihrer Anwendung beliebige HTTP-Anfragen (GET, POST, PUT, DELETE usw.) aus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kommen wir zu den wesentlichen Details: Im Folgenden sehen Sie ein Beispiel daf\u00fcr, wie eine E-Mail mit Mailgun \u00fcber die API versendet 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\">\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                                    Meteor.http.post(&#039;https:\/\/api.mailgun.net\/v2\/your-api-domain\/messages&#039;,  \r\n    {auth:&quot;api:&quot; + process.env.MAILGUN_API_KEY,\r\n    params: {&quot;from&quot;:&quot;Dev McCool  &quot;,\r\n                     &quot;to&quot;:[to],\r\n                      &quot;subject&quot;:&quot;Behold: the power of Meteor and Mailgun&quot;,\r\n                      &quot;html&quot;:\u201dA &lt;b&gt;bold&lt;\/b&gt; greeting goes here\u201d,\r\n                      &quot;h:X-Mailgun-Variables&quot;:JSON.stringify({tracking_id:my_tracking_var}),\r\n                      &quot;o:tracking&quot;:&#039;True\u2019 }}, function(error, result) {\r\n                      \/\/handle error, result (should be 200 OK)\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\">Gehen wir hier auf einige Details ein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie Sie sehen, legen wir f\u00fcr diese Anfrage mithilfe einer Umgebungsvariablen namens MAILGUN_API_KEY eine Authentifizierungs-Kopfzeile fest. Auf der Meteor-Hosting-Plattform (z. B. meteor deploy) lassen sich noch keine Umgebungsvariablen festlegen. Wenn Sie Ihre Meteor-App jedoch auf Heroku oder einem eigenen Setup ausf\u00fchren, ist es sinnvoll, Zugangsdaten wie Ihren API-Schl\u00fcssel sicher in einer Umgebungsvariablen aufzubewahren. Um eine Umgebungsvariable mit Meteor festzulegen, gehen Sie wie folgt vor:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>process.env['MAILGUN_API_KEY'] = \"my-mailgun-key\";<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beachten Sie auch, dass wir hier einige benutzerdefinierte Tracking-Werte hinzuf\u00fcgen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Tracking-Option wird auf &#8222;true&#8220; gesetzt, um Mailgun mitzuteilen, dass der Webhook beim \u00d6ffnen der E-Mail ausgel\u00f6st werden soll.<\/li>\n\n\n\n<li>Ein JSON-Wert wird f\u00fcr das Feld X-Mailgun-Variable in der Kopfzeile festgelegt. Dies zeigt das Potenzial von Webhooks: Wir hinterlegen wichtige Details oder eindeutige Werte in diesem Kopfzeilen-Feld und rufen sie wieder ab, wenn Mailgun den Webhook an unseren Server sendet.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem speziellen Beispiel wird der E-Mail-Versand durch einen einfachen HTML-Button auf der Client-Seite ausgel\u00f6st. Wir haben die E-Mail-Versandfunktion in eine Meteor-Methode eingebunden, damit sie vom Client aus zug\u00e4nglich ist.\u00a0<a href=\"\/?blog_category=native-mailgun-integration-lets-meteor-apps-send-email\" target=\"_tabs\" rel=\"noopener noreferrer\">Hier finden Sie den Code f\u00fcr den E-Mail-Versand<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Denken Sie daran, wichtige Informationen wie API-Zugangsdaten im Server-Ordner Ihrer Meteor-Anwendung aufzubewahren. Dateien im Server-Ordner werden nicht an den Client gesendet. Andere Dateien, die sich entweder im Client-Ordner oder im Stammverzeichnis des Anwendungsordners befinden, k\u00f6nnen hingegen in den Browser des Clients gelangen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">West side\u2026east side\u2026server side\u2026<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald Mailgun erkennt, dass unsere E-Mail ge\u00f6ffnet wurde, sendet es eine POST-Anfrage an uns. Wie bei jedem Gast m\u00f6chten wir, dass sich der Webhook willkommen f\u00fchlt und wei\u00df, dass er am richtigen Zielort angekommen ist: 404-Fehler sind hier unerw\u00fcnscht. Serverseitiges Routing ist in Meteor noch nicht integriert. Aber keine Sorge: Dank der Flexibilit\u00e4t der Plattform f\u00fcgen wir m\u00fchelos eine einfache Route f\u00fcr den Mailgun-Webhook hinzu, ohne alles zerlegen zu m\u00fcssen. Bei der Einrichtung einer serverseitigen Route ist etwas mehr Code erforderlich:<\/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                                    if (Meteor.isServer) {\r\n\r\n  var app = __meteor_bootstrap__.app\r\n  var connect = Npm.require(&#039;connect&#039;);\r\n  var Fiber = Npm.require(&#039;fibers&#039;);\r\n  var crypto = Npm.require(&#039;crypto&#039;);\r\n\r\n  var router = connect.middleware.router(function(route)\r\n  {\r\n    route.post(&#039;\/mailgun\/receive&#039;, function(req, res)\r\n    {\r\n      var raw_post_body = &quot;&quot;;\r\n      var post_data = [];\r\n\r\n      req.on(&#039;data&#039;, function (chunk) {\r\n        raw_post_body += chunk.toString();\r\n      });\r\n\r\n      req.on(&#039;end&#039;, function () {\r\n          pairs = raw_post_body.split(&#039;&amp;&#039;);\r\n          for(var i = 0; i &lt; pairs.length; i++) {\r\n            kv = pairs[i].split(&#039;=&#039;);\r\n            post_data[kv[0]]=decodeURIComponent((kv[1]+&#039;&#039;).replace(\/+\/g, &#039;%20&#039;));\r\n          }\r\n\r\n          \/\/Verify sender is Mailgun\r\n          var sig = crypto.createHmac(&#039;sha256&#039;, process.env.MAILGUN_API_KEY).update(post_data[&#039;timestamp&#039;]+post_data[&#039;token&#039;]).digest(&#039;hex&#039;);\r\n          if(sig !== post_data[&#039;signature&#039;]) {\r\n            res.writeHead(403);\r\n            res.end();\r\n          }\r\n          else {\r\n            Fiber(function() {\r\n                Meteor.call(&quot;publishGeo&quot;, post_data);\r\n                res.writeHead(200);\r\n                res.end();\r\n            }).run();\r\n          }\r\n      });\r\n    });\r\n  });\r\n\r\n  app.use(router);\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\">Etwa in der Mitte sehen Sie, wo wir eine schnelle HMAC-Berechnung durchf\u00fchren, um die Identit\u00e4t des Absenders zu best\u00e4tigen. Mailgun stellt mit jedem Webhook ein Signatur-Token bereit. Wir \u00fcberpr\u00fcfen die G\u00fcltigkeit dieser Signatur, indem wir das bereitgestellte Token und den Zeitstempel mit unserem API-Schl\u00fcssel hashen. Dies ist keine zwingende Anforderung, f\u00fcr \u00f6ffentlich zug\u00e4ngliche Anwendungen jedoch durchaus sinnvoll. Mithilfe der HMAC-Methode in der Krypto-Bibliothek l\u00e4sst sich dies unkompliziert umsetzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald diese Route auf unserem Server eingerichtet und aktiviert ist, bereiten wir bei Mailgun alles f\u00fcr unsere Webhooks vor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Webhooks konfigurieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Anmeldung bei Mailgun sehen Sie oben in Ihrem Dashboard den Tab f\u00fcr das Tracking. Unten auf der Tracking-Seite finden Sie ein Feld zur Eingabe des Ziels f\u00fcr die POST-Anfragen. Mailgun sendet diese bei jedem \u00d6ffnen einer E-Mail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Alles zusammensetzen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In dieser Demo-Anwendung weisen wir jeder Browser-Sitzung eine eindeutige ID zu, die wir in den Aufruf der Mailgun-API integrieren (in die HTTP-Kopfzeile X-Mailgun-Variables, die wir zuvor gesendet haben). Wenn der Open-Webhook zur\u00fcckgegeben wird, \u00fcberpr\u00fcfen wir nicht nur die Geolocation-Details, sondern parsen auch den Code dieser eindeutigen Sitzungs-ID. Auf diese Weise ordnen wir den Webhook der richtigen Browser-Sitzung zu und zeigen den korrekten Standort auf der Karte an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dank der Leistungsf\u00e4higkeit des Meteor-Frameworks beobachtet der Browser (der Client) alle \u00c4nderungen am Datensatz der empfangenen Webhooks. Mithilfe des Ereignisses &#8222;added&#8220; f\u00fcr die Collection auf dem Client wird dieser sofort aktualisiert, sobald wir unserer Datenbank ein weiteres Webhook-Ereignis hinzuf\u00fcgen. Innerhalb des Ereignisses &#8222;added&#8220; erstellen wir lediglich einen Standort-Marker f\u00fcr Google Maps. Dabei greifen wir auf die Werte f\u00fcr Stadt, Region und Land im Webhook zur\u00fcck. An dieser Stelle vergleichen wir zudem die eindeutige ID mit unserer aktuellen Sitzungs-ID. Stimmen sie \u00fcberein, wird dieser Marker mit einem roten Symbol im Vordergrund der Karte (per z-index) platziert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der letzte Teil des clientseitigen Codes stellt sicher, dass jeder Marker auf der Karte \u00fcber ein Pop-up verf\u00fcgt. Dieses enth\u00e4lt einige weitere Browser-Details, die Mailgun ebenfalls in die Webhook-Daten integriert. Die Tracking-Webhooks von Mailgun umfassen auch n\u00fctzliche Daten wie das Betriebssystem, den zum \u00d6ffnen\/Lesen der Nachricht verwendeten E-Mail-Client sowie den Ger\u00e4tetyp (ideal zur Analyse der mobilen im Vergleich zur Desktop-Nutzung).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fertig.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das war\u2019s: Ihre Meteor-Anwendung ist nun bereit, Tracking- und Open-Webhooks sicher und zuverl\u00e4ssig von Mailgun zu empfangen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um das Ganze in Aktion zu sehen, besuchen Sie die Demo-Seite und den Quellcode auf\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-meteor-demo\/\" target=\"_tabs\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen&#8230;<\/p>\n","protected":false},"author":13,"featured_media":4555,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[22],"class_list":["post-24440","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-product"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...\" \/>\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\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/\" \/>\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-Product.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/\",\"name\":\"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T11:48:27+00:00\",\"description\":\"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\\\/#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\":\"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking\"}]},{\"@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":"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun","description":"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...","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\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/","og_locale":"de_DE","og_type":"article","og_title":"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun","og_description":"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...","og_url":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/","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-Product.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/","url":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/","name":"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T11:48:27+00:00","description":"Im Januar gaben wir unsere Partnerschaft mit Meteor bekannt, um das E-Mail-Back-End bereitzustellen, das in die Meteor-Plattform integriert ist. Weiterlesen...","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/demo-meteor-basierter-email-dienst-mit-geolocation-und-ua-tracking\/#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":"Demo: Meteor-basierter E-Mail-Dienst mit Geolocation und UA-Tracking"}]},{"@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\/24440","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":1,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/24440\/revisions"}],"predecessor-version":[{"id":24441,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/24440\/revisions\/24441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=24440"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=24440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}