{"id":24322,"date":"2026-09-16T11:47:08","date_gmt":"2026-09-16T11:47:08","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/wie-kanban2go-zawinskis-law-erfuellt\/"},"modified":"2026-09-16T11:47:08","modified_gmt":"2026-09-16T11:47:08","slug":"wie-kanban2go-zawinskis-law-erfuellt","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/","title":{"rendered":"Wie Kanban2go Zawinskis Gesetz erf\u00fcllt"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Dieser Blogbeitrag eines Kunden wurde von Damon Cali verfasst. Damon ist Inhaber von\u00a0Ninth Yard, dem Unternehmen hinter TrackJumper, einer einfachen webbasierten Bug-Tracking-Anwendung. Er ist au\u00dferdem Lead Web Developer f\u00fcr\u00a0<\/em><a href=\"https:\/\/kanban2go.com\/\"><em>kanban2go<\/em><\/a><em>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"500\" height=\"85\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2go.png\" alt=\"kanban2go\" class=\"wp-image-4787\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2go.png 500w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2go-300x51.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jedes Programm versucht zu expandieren, bis es E-Mails lesen kann. Programme, die dazu nicht in der Lage sind, werden durch solche ersetzt, die es k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zawinski\u2019s Law<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich wei\u00df nicht, ob das stimmt, aber\u00a0<a href=\"https:\/\/kanban2go.com\/\">kanban2go<\/a>\u00a0hat k\u00fcrzlich mit der Einf\u00fchrung einer E-Mail-basierten Funktion einen Schritt in diese Richtung gemacht. Was auf Anhieb klar wird: Eine Webanwendung zu schreiben, die E-Mails empfangen kann, ist schwer. Es gibt viele bewegliche Teile, von denen einige bereits eigenst\u00e4ndige Gro\u00dfprojekte darstellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? M\u00f6chten Sie einen eigenen E-Mail-Server verwalten? M\u00fcssen Sie Postf\u00e4cher f\u00fcr alle Ihre Nutzer einrichten? Wie sieht es mit Spam und der Zustellbarkeit aus? Das reicht aus, damit sich das Entwicklungsteam fragt, ob es die M\u00fche wert ist.<\/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-6999\"><p class=\"h5 m-0\" id=\"toc-title-6999\">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=\"#einen-einfacheren-weg-fuer-nutzer-finden-aufgaben-zu-erstellen\">Einen einfacheren Weg f\u00fcr Nutzer finden, Aufgaben zu erstellen<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-1-ihre-domain-einrichten\">Schritt 1\u00a0\u2013 Ihre Domain einrichten<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-2-routings-fuer-die-e-mail-weiterleitung-konfigurieren\">Schritt 2\u00a0\u2013 Routings f\u00fcr die E-Mail-Weiterleitung konfigurieren<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-3-e-mails-mit-rails-empfangen\">Schritt 3\u00a0\u2013 E-Mails mit Rails empfangen<\/a><a class=\"scrollme link-body-color\" href=\"#schritt-4-zuruecklehnen\">Schritt 4\u00a0\u2013 Zur\u00fccklehnen<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Einen einfacheren Weg f\u00fcr Nutzer finden, Aufgaben zu erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das ging mir durch den Kopf, als wir die kanban2go-Taskbox entwickelt haben. Zun\u00e4chst ein wenig Hintergrundwissen. kanban2go ist eine Aufgabenmanagement-App, die auf den Prinzipien von\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Kanban\">Kanban<\/a>. Jeder Nutzer verf\u00fcgt \u00fcber ein oder mehrere virtuelle Kanban-Boards, auf denen sich verschiedene virtuelle \u201eAufgaben\u201c befinden. Sie loggen sich ein, klicken auf &#8222;Add Task&#8220; und erhalten eine Aufgabe auf dem Board, die Sie bearbeiten, verschieben und mit der Sie interagieren k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir wollten dies verbessern, indem wir Nutzern eine M\u00f6glichkeit bieten, Aufgaben per E-Mail an ihr Konto zu senden, anstatt sich in die App einloggen zu m\u00fcssen. Da begann mir der Kopf zu schwirren\u00a0\u2013 was normalerweise ein gutes Zeichen daf\u00fcr ist, nachzusehen, ob schon jemand anderes das Problem gel\u00f6st hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gute Kunstschaffende borgen. Gro\u00dfartige Kunstschaffende stehlen. In diesem Fall mieten pragmatische Kunstschaffende. Zum Gl\u00fcck macht Mailgun diesen gesamten Prozess einfach. Ich werde in diesem Beitrag darlegen, wie wir an das Problem herangegangen sind, in der Hoffnung, dass dies als Trigger f\u00fcr einige Ideen f\u00fcr Ihre eigene App dient. Der Code hier entspricht nicht genau dem, was wir verwenden\u00a0\u2013 es ist eine vereinfachte Version\u00a0\u2013, aber die Unterschiede haben eher mit kanban2go als mit Mailgun zu tun.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1\u00a0\u2013 Ihre Domain einrichten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der erste Schritt (nach der Anmeldung bei Mailgun) besteht darin, Ihre Domain bei Mailgun zu erstellen und zu konfigurieren.<\/p>\n\n\n\r\n    <aside data-content-type=\"longform\"  class=\"banner-block longform-spacings rounded-lg shadow-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 bg-light\" data-theme=\"dark\" aria-labelledby=\"banner-block-block_037231be068e39d6cd463f0aa8f5f90a\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Registrieren            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_037231be068e39d6cd463f0aa8f5f90a\">\r\n                Loslegen ist ganz einfach. Und es ist kostenlos.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Erfahren Sie, was Sie mit der weltbesten Plattform f\u00fcr E-Mail-Zustellung alles erreichen k\u00f6nnen.<\/div>\r\n                            <\/div>\r\n        \r\n        <div class=\"text-start mt-5\"><a href=\"https:\/\/signup.mailgun.com\/new\/signup\"  class=\"btn btn-secondary\" >Get started<\/a><\/div>\r\n    <\/aside>\r\n\r\n\n\n\n<p class=\"wp-block-paragraph\"> Wir haben uns f\u00fcr taskbox.kanban2go.com entschieden. Auf diese Weise kann ein Nutzer eine Nachricht an (beispielsweise) user_abc123@taskbox.kanban2go.com senden und die Nachricht erscheint als kanban2go-Aufgabe in der Taskbox des Nutzers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Domain-Konfiguration besteht lediglich darin, die DNS-Eintr\u00e4ge f\u00fcr Ihre Domain gem\u00e4\u00df den Anweisungen von Mailgun einzurichten und die gew\u00fcnschten Optionen im Control Panel auszuw\u00e4hlen. Explizite Anweisungen zu den DNS-Einstellungen finden Sie im Mailgun Control Panel. Befolgen Sie diese einfach.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4788\" width=\"500\" height=\"309\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban.png\" alt=\"kanban\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban.png 500w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban-300x185.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Bei den Optionen haben wir uns daf\u00fcr entschieden, den Spamfilter zu aktivieren, um alle eingehenden Spam-Nachrichten zu blockieren (Sie k\u00f6nnten den Spam auch behalten, aber wir halten es einfach). Da wir nur eine einzige Subdomain brauchten, haben wir uns f\u00fcr eine regul\u00e4re Domain anstelle einer Wildcard-Domain entschieden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4789\" width=\"500\" height=\"249\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2.png\" alt=\"kanban2\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2.png 500w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/kanban2-300x149.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das war es schon mit der Domain-Konfiguration.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2\u00a0\u2013 Routings f\u00fcr die E-Mail-Weiterleitung konfigurieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Gro\u00dfteil der Einfachheit von Mailgun beruht auf dem dortigen Routing-System. Sie richten Routings ein, die Mailgun mitteilen, was mit den Nachrichten geschehen soll, die unter der eingerichteten Domain eingehen. In unserem Fall k\u00f6nnte es nicht einfacher sein\u00a0\u2013 wir wollten, dass Mailgun alle an *@taskbox.kanban2go.com gesendeten Nachrichten an eine URL in unserer App weiterleitet\u00a0\u2013 http:\/\/kanban2go.com\/mailgun\/receive. Die Aktion unter dieser URL verarbeitet die eingehende Nachricht dann entsprechend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Gro\u00dfartige an Routings ist, dass sie <a href=\"http:\/\/en.wikipedia.org\/wiki\/Regular_expression\" target=\"_tabs\" rel=\"noopener noreferrer\">regul\u00e4re Ausdr\u00fccke<\/a> sowie sogar <a href=\"http:\/\/www.regular-expressions.info\/named.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Named Captures<\/a> unterst\u00fctzen, die an die Aktionen weitergegeben werden, sodass sie Ihnen eine enorme Flexibilit\u00e4t bieten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Routings werden im Tab &#8222;Routes&#8220; im Mailgun Control Panel eingerichtet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst erstellen wir einen Filterausdruck\u00a0\u2013 den Sie sich als regul\u00e4ren Ausdruck f\u00fcr Mailgun vorstellen k\u00f6nnen. In unserem Fall soll jede Nachricht erfasst werden, die an unsere Domain gesendet wird.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>match_recipient('.*@taskbox.kanban2go.com')<\/code> Als N\u00e4chstes definieren wir eine Aktion, die Mailgun anweist, was bei einem Treffer zu tun ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>forward(\"http:\/\/kanban2go.com\/mailgun\/receive\"), stop()<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Fall leiten wir die Nachricht an unsere App weiter und stoppen dann.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mailgun parst die Nachrichten f\u00fcr Sie und bietet einige praktische Funktionen, oder Sie k\u00f6nnen sich daf\u00fcr entscheiden, die unformatierte Nachricht zu erhalten. Da wir nichts Ausgefallenes vorhaben und es uns Arbeit erspart, haben wir uns daf\u00fcr entschieden, die von Mailgun geparsten Nachrichten zu empfangen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier passiert ein Gro\u00dfteil der Magie. Wenn Mailgun eine passende Nachricht empf\u00e4ngt, verarbeitet es diese und sendet eine POST-Anfrage an die URL, die im Mailgun-Routing angegeben ist. Die Parameter dieser Anfrage umfassen Absender, Betreff, Textk\u00f6rper und eine Reihe weiterer n\u00fctzlicher Daten. <a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Sehen Sie sich die Dokumentation an<\/a> f\u00fcr weitere Informationen zu Routings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3\u00a0\u2013 E-Mails mit Rails empfangen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Da Mailgun uns nun POST-Anfragen sendet, m\u00fcssen wir unsere Rails-App so einrichten, dass sie diese verarbeiten kann.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In kanban2go hat ein Nutzer viele Aufgaben. Jede Aufgabe hat ein Attribut namens &#8222;content&#8220;, das den Text der Aufgabe enth\u00e4lt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In unserer Rails-App m\u00fcssen wir die POST-Anfragen von Mailgun unter <code>http:\/\/kanban2go.com\/mailgun\/receive<\/code> verarbeiten. Der erste Schritt besteht darin, ein Routing f\u00fcr unsere neue Aktion in routes.rb zu erstellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>post '\/mailgun\/receive' =&gt; 'mailgun#receive'<\/code> Als N\u00e4chstes m\u00fcssen wir einen MailgunController mit einer &#8222;receive&#8220;-Aktion in <code>mailgun_controller.rb<\/code> erstellen.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    class MailgunController &lt; ApplicationControllerrn  protect_from_forgery :except =&gt; [:receive]rn  def receivern    user = User.find_by_taskbox_address(params[&#039;recipient&#039;])rn    stripped_text = params[&#039;stripped-text&#039;]rn    if userrn      Task.create(:user =&gt; user, :content =&gt; stripped_text)rn    endrn    render :nothing =&gt; truern  endrnend\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\">Beachten Sie, dass wir den Forgery-Schutz f\u00fcr die Receive-Aktion deaktivieren m\u00fcssen. F\u00fcr weitere Informationen zur Funktionsweise von protect_from_forgery gibt es eine gro\u00dfartige Erkl\u00e4rung im <a href=\"http:\/\/guides.rubyonrails.org\/security.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Rails Security Guide<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als Erstes muss in der Receive-Aktion der Nutzer abgerufen werden, an den die Nachricht gesendet wurde. Dazu weisen wir jedem Nutzer bei der Erstellung eine eindeutige Taskbox-E-Mail-Adresse (in einem &#8222;taskbox_address&#8220;-Attribut) zu. Eine taskbox_address k\u00f6nnte beispielsweise &#8222;hard_to_guess74623@taskbox.kanban2go.com&#8220; sein. Wichtig ist, dass der Nutzername in der Adresse eindeutig und schwer zu erraten ist. Anschlie\u00dfend ermitteln wir den Nutzer mit der Methode User.find_by_taskbox_address (wird von Mailgun als Parameter &#8218;recipient&#8216; \u00fcbermittelt).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als N\u00e4chstes extrahieren wir den Parameter &#8222;stripped-text&#8220; aus der Anfrage. Dies wird von Mailgun bereitgestellt, wenn es eine E-Mail-Nachricht parst. Der &#8222;stripped-text&#8220; ist lediglich der Textk\u00f6rper der E-Mail ohne zitierte Teile oder Signatur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn wir einen Nutzer finden, erstellen wir eine Aufgabe f\u00fcr diesen Nutzer und setzen den Inhalt dieser Aufgabe auf den Stripped-Text. Wenn wir keinen Nutzer finden, passiert nichts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 4\u00a0\u2013 Zur\u00fccklehnen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das war&#8217;s. Mehr ist nicht n\u00f6tig, um mit Mailgun E-Mails in Aufgaben zu verwandeln. Das ist nat\u00fcrlich ein sehr einfaches Beispiel. Abh\u00e4ngig von Ihren Sicherheits- und Datenschutzanforderungen m\u00fcssen Sie in Ihrer App m\u00f6glicherweise einige zus\u00e4tzliche Pr\u00fcfungen und Logiken durchlaufen, aber die harte Arbeit wird von Mailgun f\u00fcr Sie erledigt\u00a0\u2013 Routing, Parsing und Spamfilterung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich hoffe, dies tr\u00e4gt dazu bei, verst\u00e4ndlich zu machen, warum Sie keine Angst mehr vor E-Mails in Ihrer App haben m\u00fcssen. Es gibt unz\u00e4hlige M\u00f6glichkeiten\u00a0\u2013 werden Sie einfach kreativ.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Denken Sie dar\u00fcber nach, eine E-Mail-Verarbeitung in Ihre App zu integrieren? Haben Sie Anmerkungen zu dem hier skizzierten Ansatz? Teilen Sie Ihre Gedanken in den Blog-Kommentaren oder nehmen Sie an <a href=\"http:\/\/news.ycombinator.com\/item?id=5227352\" target=\"_tabs\" rel=\"noopener noreferrer\">der Konversation auf HackerNews teil<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><i>Offenlegung: Der Gr\u00fcnder von kanban2go.com, Prabhakar Gopalan, arbeitet bei Rackspace, der Muttergesellschaft von Mailgun. kanban2go.com existierte bereits vor Prabhakars T\u00e4tigkeit bei Rackspace.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013<\/p>\n","protected":false},"author":13,"featured_media":4555,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[22],"class_list":["post-24322","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>Wie kanban2go Zawinski&#039;s Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013\" \/>\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\/wie-kanban2go-zawinskis-law-erfuellt\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie kanban2go Zawinski&#039;s Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/\" \/>\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=\"7\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\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/\",\"name\":\"Wie kanban2go Zawinski's Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T11:47:08+00:00\",\"description\":\"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/product\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/#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\\\/wie-kanban2go-zawinskis-law-erfuellt\\\/#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\":\"Wie Kanban2go Zawinskis Gesetz erf\u00fcllt\"}]},{\"@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 kanban2go Zawinski's Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun","description":"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013","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\/wie-kanban2go-zawinskis-law-erfuellt\/","og_locale":"de_DE","og_type":"article","og_title":"Wie kanban2go Zawinski's Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun","og_description":"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013","og_url":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/","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":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/","url":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/","name":"Wie kanban2go Zawinski's Law erf\u00fcllt - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T11:47:08+00:00","description":"Der Nutzer sendet eine E-Mail-Nachricht, und Sie m\u00fcssen diese empfangen und irgendwie verarbeiten. Wie macht man das? Weiterlesen \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/product\/wie-kanban2go-zawinskis-law-erfuellt\/#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\/wie-kanban2go-zawinskis-law-erfuellt\/#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":"Wie Kanban2go Zawinskis Gesetz erf\u00fcllt"}]},{"@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\/24322","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\/24322\/revisions"}],"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=24322"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=24322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}