{"id":18230,"date":"2026-09-03T11:49:06","date_gmt":"2026-09-03T11:49:06","guid":{"rendered":"https:\/\/www.mailgun.com\/resources\/case-studies\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/"},"modified":"2026-09-03T11:49:06","modified_gmt":"2026-09-03T11:49:06","slug":"wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen","status":"publish","type":"case-studies","link":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/","title":{"rendered":"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt, um Domains f\u00fcr die E-Mail-Weiterleitung zu erstellen &amp; einzurichten"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Wir bei DNSimple lieben DNS auf fast schon ungesunde Weise. Was wir jedoch nicht lieben, ist die Verwaltung von E-Mail-Servern. Anfang dieses Jahres haben wir beschlossen, E-Mail-Weiterleitung als einen der Dienste hinzuzuf\u00fcgen, die wir unseren Kunden anbieten, und angesichts unserer Abneigung gegen\u00fcber der Verwaltung von E-Mail-Servern haben wir nach einem Anbieter mit einer guten API gesucht, die wir leicht integrieren konnten. Dank Empfehlungen auf Twitter haben wir schlie\u00dflich Mailgun gefunden und uns daf\u00fcr entschieden, und wir sind begeistert, wie einfach es f\u00fcr uns war, es zu integrieren und zu warten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programmgesteuertes Erstellen und Konfigurieren von Domains<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir verwenden HTTParty, ein praktisches kleines Ruby-Gem von John Nunemaker, um mit der Mailgun-API zu kommunizieren. Zuerst richten wir eine Klasse ein, die unser Client ist:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                Ruby                            <\/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-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    require &#039;httparty&#039;\r\n\r\nclass Mailgun\r\n\r\n  class MailgunError &lt; StandardError\r\n  end\r\n\r\n  include HTTParty\r\n\r\n  base_uri &#039;https:\/\/api.mailgun.net\/v2&#039;\r\n  basic_auth &#039;api&#039;, C_.mailgun_api_key\r\n\r\nend\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\">Sobald wir diese Klasse haben, k\u00f6nnen wir die API aufrufen, um unseren Prozess zum programmgesteuerten Erstellen und Konfigurieren neuer benutzerdefinierter Domains zu starten, die unsere Kunden zur Weiterleitung von E-Mails nutzen k\u00f6nnen.<\/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                                Ruby                            <\/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-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    mailgun_domain_res = Mailgun.get(&quot;\/domains\/#{domain.unicode_name}&quot;)\r\nif mailgun_domain_res.code != 200\r\n  mailgun_domain_res = Mailgun.post(&#039;\/domains&#039;, :body =&gt; {:name =&gt; domain.unicode_name, :smtp_password =&gt; smtp_password})\r\n  # if created then increment the count\r\n  if mailgun_domain_res.code == 200\r\n    increment_email_forwarding(domain) \r\n  else\r\n    raise &quot;Failed to create domain in Mailgun&quot;\r\n  end\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Fall pr\u00fcfen wir zun\u00e4chst, ob eine Domain in Mailgun existiert. Wenn sie bereits existiert, k\u00f6nnen wir zum n\u00e4chsten Schritt \u00fcbergehen. Wenn sie nicht existiert, erstellen wir sie durch den Aufruf einer POST-Anfrage an die Ressource \/domains. Wir \u00fcbergeben den Namen und ein SMTP-Passwort. Wenn die Domain erfolgreich erstellt wurde, erh\u00f6hen wir die Anzahl der E-Mail-Weiterleitungen f\u00fcr den Kunden, da wir pro Domain abrechnen. Wenn wir die Domain zum ersten Mal erstellen, f\u00fcgen wir f\u00fcr unsere Kunden auch automatisch MX-Eintr\u00e4ge f\u00fcr den Versand sowie den entsprechenden SPF-Eintrag hinzu, was die Zustellbarkeit erh\u00f6ht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einrichten der E-Mail-Weiterleitung basierend auf Regex-\u00dcbereinstimmungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Als N\u00e4chstes richten wir die vom Kunden angeforderte E-Mail-Weiterleitung ein (z. B. Weiterleitung von E-Mails an info@mycompany.com zu paul@mycompany.com). In Mailgun wird diese Funktion als \u201eRoute\u201c bezeichnet, da sie beschreibt, wie eine Nachricht geroutet wird. In unserem Fall m\u00f6chten wir das Routing basierend auf einem vom Kunden bereitgestellten regul\u00e4ren Ausdruck durchf\u00fchren und die Domain an die von ihm gew\u00e4hlte Ziel-E-Mail-Adresse weiterleiten:<\/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                                Ruby                            <\/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-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    mailgun_route_res = Mailgun.post(&quot;\/routes&quot;, body: {\r\n  description: &quot;Email forwarding&quot;,\r\n  expression: %Q(match_recipient(&#039;#{email_forward_attributes[:from]}&#039;)),\r\n  action: %Q(forward(&#039;#{email_forward_attributes[:to]}&#039;))\r\n})\r\n\r\nmailgun_route = Hashie::Mash.new(mailgun_route_res.parsed_response)\r\nif mailgun_route_res.code != 200\r\n  raise Mailgun::MailgunError, mailgun_route.message\r\nend\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\">Wenn die Route nicht eingerichtet werden kann, geben wir einen Fehler aus, ansonsten geben wir die Mailgun-Route zur\u00fcck. Sobald wir eine Route haben, speichern wir den route_identifier in unserer Datenbank und das war&#8217;s!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn ein Kunde beschlie\u00dft, Routen zu entfernen, k\u00f6nnen wir sie einfach \u00fcber die API l\u00f6schen:<\/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                                Ruby                            <\/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-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    mailgun_route_res = Mailgun.delete(&quot;\/routes\/#{email_forward.route_identifier}&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\">Und wenn er keine Routen mehr hat, entfernen wir auch die Domain aus dem Mailgun-System:<\/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                                Ruby                            <\/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-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    mailgun_domain_res = Mailgun.delete(&quot;\/domains\/#{domain.unicode_name}&quot;)\r\ndecrement_email_forwarding(domain)\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Verglichen mit den M\u00fchen und der Frustration, ein wachsendes E-Mail-Speicher- und Zustellungssystem betreiben und warten zu m\u00fcssen, bietet Mailgun eine extrem einfache M\u00f6glichkeit, E-Mails f\u00fcr unsere Kunden einzurichten, und daf\u00fcr lieben wir sie.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <img decoding=\"async\" class=\"quote-logo\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/omnisend.svg\" alt=\"Zitat-Logo von Paulius Milisauskas\">\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-fd5f2ae375d23fea8087fc461d7b8222\">\r\n            &#8222;Durch den Einsatz von Mailgun k\u00f6nnen wir einen besseren Service f\u00fcr unsere Marketer gew\u00e4hrleisten. Sie z\u00e4hlen auf uns, und wir z\u00e4hlen auf Mailgun: und diese Beziehung hilft uns, die Glaubw\u00fcrdigkeit bei unseren Kunden zu erhalten.&#8220;        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                    <div>\r\n                        <img decoding=\"async\" width=\"72\" height=\"72\" class=\"rounded-lg quote-author\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/Portrait-Paulius-Milisauskas-Omnisend.png\" alt=\"Foto von Paulius Milisauskas\">\r\n                    <\/div>\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-fd5f2ae375d23fea8087fc461d7b8222\">\r\n                        Paulius Milisauskas                    <\/cite>\r\n                                            <span class=\"mb-0 text-body-color\">VP Kundenbetrieb<\/span>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Bleiben Sie informiert! Erhalten Sie jede Woche wertvolle Inhalte direkt in Ihr Posteingang.                <\/div>\r\n                                    <form accept-charset=\"UTF-8\" action=\"\" enctype=\"multipart\/form-data\" data-form-subscription method=\"POST\" style=\"max-width: 400px;\">\r\n                <div class=\"row justify-content-between align-items-top g-2\">\r\n                    <div class=\"col-10\">\r\n                        <input type=\"email\" name=\"email\" class=\"form-control\" placeholder=\"Email\" autocomplete=\"email\" required>\r\n                        <div data-fs=\"error\" role=\"alert\" class=\"invalid-feedback\">\r\n                            Please complete this required field.                        <\/div>\r\n                    <\/div>\r\n                                            <div class=\"col-12 order-last mt-3 fs-xxs\" data-fs=\"acceptance\" style=\"display:none;\">\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-terms-5191\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-5191\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Servicebedingungen gelesen und stimme ihnen zu.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-privacy-1373\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-1373\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Datenschutzerkl\u00e4rung gelesen und bin damit einverstanden.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                                                    <\/div>\r\n                    \r\n                                            <div class=\"col-12 order-last fs-xxs mb-0 mt-2 text-body-color\">\r\n                            Senden Sie mir den Mailjet-Newsletter. Ich bin mit dem Erhalt des Newsletters einverstanden und wei\u00df, dass ich mich jederzeit unkompliziert wieder abmelden kann.                        <\/div>\r\n                    \r\n                    <div class=\"col-2\">\r\n                        <button type=\"submit\" value=\"Submit\" aria-label=\"Submit\" class=\"btn btn-secondary btn-icon\">\r\n                            <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/layout\/chevron-right.svg\"><\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <input type=\"hidden\" name=\"formSubscriptionRecaptchaToken\" data-fs=\"recaptcha-token\">\r\n                <input type=\"hidden\" name=\"customListID\" value=\"\">\r\n\r\n            <\/form>\r\n            <div data-fs=\"message-success\" style=\"display: none;\">\r\n                <p class=\"mb-0 mt-2 text-body-color\">\r\n                    Pr\u00fcfen Sie Ihren Posteingang jeden Monat auf Ihren Mailjet Newsletter!                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Dieser Beitrag wurde von Anthoy Eden, Gr\u00fcnder und Entwickler bei DNSimple, verfasst. DNSimple ist der unkomplizierte Weg, all Ihre Domains an einem einzigen Ort zu verwalten, ohne sich durch 10 Bildschirme mit Upsells klicken zu m\u00fcssen, um einen einfachen Kauf abzuschlie\u00dfen. Zus\u00e4tzlich zu Registrar-Diensten bietet DNSimple eine REST-API zum Erstellen und Verwalten von Domains und Eintr\u00e4gen. Sie machen es zudem einfach, E-Mails \u00fcber Ihre Domain zu empfangen und an ein beliebiges anderes E-Mail-Konto weiterzuleiten, wie beispielsweise ein E-Mail-Alias, das Sie zur Bearbeitung von Support- oder Abrechnungs-E-Mails eingerichtet haben, oder an einen externen E-Mail-Anbieter wie Gmail.<\/p>\n","protected":false},"author":90,"featured_media":8224,"template":"","meta":{"_acf_changed":true},"class_list":["post-18230","case-studies","type-case-studies","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun<\/title>\n<meta name=\"description\" content=\"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden\" \/>\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\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/\" \/>\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\/01\/Mailgun-Case-Study-DNSimple.png\" \/>\n\t<meta property=\"og:image:width\" content=\"592\" \/>\n\t<meta property=\"og:image:height\" content=\"368\" \/>\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=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/\",\"name\":\"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-DNSimple.png\",\"datePublished\":\"2026-09-03T11:49:06+00:00\",\"description\":\"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-DNSimple.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-DNSimple.png\",\"width\":592,\"height\":368},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case Studies\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/ressourcen\\\/fallstudien\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt, um Domains f\u00fcr die E-Mail-Weiterleitung zu erstellen & einzurichten\"}]},{\"@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":"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun","description":"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden","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\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/","og_locale":"de_DE","og_type":"article","og_title":"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun","og_description":"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden","og_url":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":592,"height":368,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-DNSimple.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/","url":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/","name":"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-DNSimple.png","datePublished":"2026-09-03T11:49:06+00:00","description":"Unsere Webanwendung wurde mit Ruby on Rails entwickelt, daher war die Integration von Mailgun ein Kinderspiel. Wof\u00fcr nutzt DNSimple Mailgun? Lesen Sie weiter, um es herauszufinden","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-DNSimple.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-DNSimple.png","width":592,"height":368},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/wie-ruby-basiertes-dnsimple-mailguns-api-nutzt-um-zu-erstellen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Case Studies","item":"https:\/\/www.mailgun.com\/de\/ressourcen\/fallstudien\/"},{"@type":"ListItem","position":3,"name":"Wie das Ruby-basierte DNSimple die Mailgun-API nutzt, um Domains f\u00fcr die E-Mail-Weiterleitung zu erstellen & einzurichten"}]},{"@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\/case-studies\/18230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/case-studies"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/case-studies"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/90"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/8224"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=18230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}