{"id":25633,"date":"2023-01-19T00:00:00","date_gmt":"2023-01-19T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/mailgun-app-rebuild-teil-zwei\/"},"modified":"2026-09-22T13:34:37","modified_gmt":"2026-09-22T13:34:37","slug":"mailgun-app-rebuild-teil-zwei","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/","title":{"rendered":"Ein genauerer Blick auf die Mailgun-App: Teil 2\u00a0\u2013 Eine absolut triumphale Umsetzung"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Als wir vor drei langen Jahren mit der Neuentwicklung der Mailgun-App begannen, haben wir viel Zeit in Machbarkeitsstudien, Planung und Tests investiert. <b>Unser oberstes Ziel?<\/b> Ein App-Erlebnis zu schaffen, das verschiedene Produkte aus unserem Portfolio pr\u00e4sentiert, eine einfache Navigation zwischen ihnen erm\u00f6glicht und diese Produkte effizient \u00fcber eine einzige Infrastruktur unterst\u00fctzt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Umfang dieses Projekts war so gro\u00df, dass wir mehr als einen Beitrag ben\u00f6tigten, um zu beschreiben, was die Neuentwicklung vorangetrieben hat, wie wir vorgegangen sind, was wir gelernt haben und was die Implementierung dieser neuen Technologie f\u00fcr unsere Zukunft bedeutet. Im ersten Teil dieser epischen Reise, \u201e<a href=\"https:\/\/www.mailgun.com\/blog\/dev-life\/mailgun-app-rebuild-teil-eins\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Teil 1: Exzellente Ideen<\/a>\u201c, sind wir in die Vergangenheit gereist, um unseren Prozess zu beleuchten. Wir haben unsere \u00dcberlegungen sowie unsere Gr\u00fcnde f\u00fcr dieses Unterfangen mit Ihnen geteilt und Sie durch die <a href=\"https:\/\/www.mailgun.com\/blog\/dev-life\/mailgun-app-rebuild-teil-eins\/#chapter-8\" target=\"_tabs\" rel=\"noopener noreferrer\">Herausforderungen<\/a> gef\u00fchrt, von denen wir wussten, dass sie auf uns zukommen w\u00fcrden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In \u201eTeil 2: Eine absolut triumphale Umsetzung\u201c werfen wir nun einen Blick hinter die Kulissen und zeigen Ihnen, wie wir dieses Projekt implementiert haben, wie unsere Teams zusammengearbeitet haben und welche Rolle das Design in unseren \u00dcberlegungen gespielt hat.\u00a0 Es gibt Drama, es gibt Migrationen \u2026 und wahrscheinlich ein paar Science-Fiction-Anspielungen zu viel. Begleiten Sie uns auf dieser Reise.<\/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-9408\"><p class=\"h5 m-0\" id=\"toc-title-9408\">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=\"#ein-kurzer-rueckblick-wie-wir-hierhergekommen-sind\">Ein kurzer R\u00fcckblick, wie wir hierhergekommen sind<\/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=\"#module-federation\">Module Federation<\/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=\"#zusammenarbeit-mit-dem-designteam-beim-aufbau-des-anmeldeprozesses\">Zusammenarbeit mit dem Designteam beim Aufbau des Anmeldeprozesses<\/a><a class=\"scrollme link-body-color\" href=\"#festlegung-des-designumfangs\">Festlegung des Designumfangs<\/a><a class=\"scrollme link-body-color\" href=\"#in-der-gedankenwelt-des-designs\">In der Gedankenwelt des Designs<\/a><a class=\"scrollme link-body-color\" href=\"#austausch-visueller-assets-zur-anpassung-an-die-marke\">Austausch visueller Assets zur Anpassung an die Marke<\/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=\"#wie-portal-sich-weiterentwickelt\">Wie Portal sich weiterentwickelt<\/a><a class=\"scrollme link-body-color\" href=\"#feedback-schleife\">Feedback-Schleife<\/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=\"#seien-sie-exzellent-zueinander-und-schaffen-sie-grossartiges\">Seien Sie exzellent zueinander und schaffen Sie Gro\u00dfartiges<\/a><a class=\"scrollme link-body-color\" href=\"#abspann\">Abspann<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Ein kurzer R\u00fcckblick, wie wir hierhergekommen sind<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Ansto\u00df zur Aktualisierung der Mailgun-App ergab sich aus den Einschr\u00e4nkungen unserer bisherigen Infrastruktur, insbesondere unserer <a href=\"https:\/\/www.mailgun.com\/blog\/dev-life\/mailgun-app-rebuild-teil-eins\/#chapter-6\" target=\"_tabs\" rel=\"noopener noreferrer\">Polyrepo-Organisation<\/a>, bei der jedes Frontend-Projekt \u00fcber ein eigenes Repository verf\u00fcgte, ungeachtet der Tatsache, dass sich in vielen Projekten dieselben Aufgaben wiederholten. Was bedeutete das f\u00fcr unsere Teams? Zun\u00e4chst einmal war das Auffinden von bestimmtem Code oder Fehlern in etwa so einfach wie Deckards Jagd nach abtr\u00fcnnigen Replikanten in einer dicht besiedelten, dystopischen Stadt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Die Verwaltung mehrerer Repositories mit redundanten Funktionen verlangsamt die Reaktionszeiten und bindet Ressourcen. <\/b>Unsere L\u00f6sung? Die Umstrukturierung in eine modulare Monorepo-Struktur. Um es mit den Worten von <i>Blade Runner<\/i> auszudr\u00fccken: Anstatt Replikanten in einer riesigen Stadt zu jagen, navigieren wir nun innerhalb einer einzigen Megastruktur, in der Projekte in Modulen organisiert sind und Replikanten durchsuchbar werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Aktionsplan erforderte die Implementierung neuer Tools in unseren Stack, ein neues Erscheinungsbild f\u00fcr unsere Benutzeroberfl\u00e4che und die Verwaltung gro\u00dfer Mengen an veraltetem Code. Wenn Sie uns eine Paraphrase erlauben: \u201eDer Mensch hat seinen Meister gefunden\u201c \u2026 und jetzt ist es das Problem der Entwicklungsabteilung.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4053\" width=\"856\" height=\"1082\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM.png\" alt=\"Mailgun team members as Blade Runner characters\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM.png 856w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-237x300.png 237w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-768x971.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/Screen_Shot_2022-12-30_at_10.07.04_AM-810x1024.png 810w\" sizes=\"(max-width: 856px) 100vw, 856px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Module Federation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Einer der ersten Schritte bei der Einrichtung unserer neuen App bestand darin, einen Weg zu finden, so viel wie m\u00f6glich von unserem alten System wiederzuverwenden, damit wir nicht alles neu entwickeln mussten. Wir wollten jedoch nicht weiterhin den Support f\u00fcr all unsere veralteten Abh\u00e4ngigkeiten aufrechterhalten. <b>Wir brauchten eine M\u00f6glichkeit, unseren bestehenden Code so zu verpacken, dass er von der neuen Infrastruktur nicht abgelehnt wird.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/module-federation\" target=\"_tabs\" rel=\"noopener noreferrer\">Module Federation<\/a> ist eine Methode, um einen Code-Block (in diesem Fall unsere gesamte alte App) als singul\u00e4res, importierbares Asset zu definieren, das entweder in sich geschlossen ist oder so eingerichtet werden kann, dass es Assets mit den konsumierenden Anwendungen teilt. <b>Module Federation bot eine L\u00f6sung und erm\u00f6glichte es uns, den bestehenden Code neu zu verpacken, damit er von der neuen Plattform genutzt werden konnte,<\/b> ohne Kompromisse bei all den neuen Funktionen einzugehen, die wir geplant hatten. Der Gro\u00dfteil unseres Entwicklungsteams konnte weiterhin Fehler beheben und Aktualisierungen an unserer alten Codebasis vornehmen, und die neue App erhielt diese automatisch mit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um dies zu verwirklichen, mussten wir eine deklarative Routing-Middleware entwickeln, mit der wir den Traffic zwischen der alten und der neuen App steuern konnten. Wir werden den alten Code nach und nach auf die neue Plattform portieren, aber bis dahin bedeutete diese seitenbasierte Routing-L\u00f6sung, dass wir nahtlos neue Funktionen einf\u00fchren konnten\u00a0\u2013 ohne die Kopfschmerzen, alles auf einmal neu schreiben zu m\u00fcssen. Da wir die Regeln bereits definiert hatten, erleichterte dies die \u00c4nderung und Pflege des Routings innerhalb unserer Anwendung.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4085\" width=\"1440\" height=\"864\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress.png\" alt=\"A progress chart illustrating the steps we needed to take from creating the new app &apos;Portal&apos; (\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress.png 1440w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-300x180.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-768x461.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/EN-Progress-1024x614.png 1024w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zus\u00e4tzlich zu den gro\u00df angelegten Migrationskomponenten mussten wir auch die Migration und Anpassung bestehender Prozesse im Zusammenhang mit Funktionen herausfinden, die in der neuen App f\u00fcr alle, die sie nutzen, weiterhin in gewohnter Weise funktionieren mussten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenarbeit mit dem Designteam beim Aufbau des Anmeldeprozesses<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bisher haben wir einige der \u00fcbergeordneten Elemente wie Speicher- und Ressourcenverwaltung beleuchtet. Bei diesem Projekt handelte es sich jedoch um eine komplette Neuentwicklung der Mailgun-App, die bereits funktionierende, f\u00fcr die Kundschaft bestimmte Prozesse enthielt, die wir entweder sch\u00fctzen oder verbessern mussten. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Anmeldeprozess f\u00fcr die App ist ein gutes Beispiel daf\u00fcr, wie wir aktuelle Modelle evaluieren, team\u00fcbergreifend arbeiten und unseren neuen Stack implementieren mussten. Wenn wir ein Projekt f\u00fcr die n\u00e4chste Aktion aufschl\u00fcsseln, stellen wir uns immer ein paar Fragen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>1. Wie planen wir derzeit die Beschaffung der Daten?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strategie: <\/b>Dokumentation der aktuellen Anmelde- und Kontoerstellungslogik f\u00fcr den bestehenden Mailgun-Prozess. Dies w\u00fcrde uns nicht nur dabei helfen, unsere bisherigen Prozesse zu archivieren, sondern auch genau zu analysieren, wie wir das aktuelle System ver\u00e4ndern w\u00fcrden, um die Grundlage f\u00fcr unser Update zu schaffen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>2. Was sind die Schritte von unserer aktuellen Iteration zu unserem gew\u00fcnschten Zustand?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strategie: <\/b>Nachdem wir unsere Aktionen dokumentiert und geplant hatten, mussten wir unsere Wissensdatenbank verbessern. Wir konzentrierten uns darauf, die Konventionen und M\u00f6glichkeiten des React-Frameworks zu erlernen, das wir verwenden wollten, um serverseitiges Rendering und zus\u00e4tzliche Funktionen zur Unterst\u00fctzung unserer Effizienz zu erm\u00f6glichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>3. Welche Zuarbeit wird von anderen Teams ben\u00f6tigt?<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Strategie:<\/b> Ausbau der Benutzeroberfl\u00e4che. Da wir im Grunde zwei eigenst\u00e4ndige Produkte zu einer Produktreihe mit gemeinsamer Infrastruktur zusammenf\u00fchrten, mussten wir die Benutzeroberfl\u00e4che gleichzeitig mit den Produkt\u00e4nderungen ausbauen. Das bedeutete, dass die meisten Updates gleichzeitig auch Redesigns sein w\u00fcrden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Festlegung des Designumfangs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Unser prim\u00e4res Ziel war es, unsere Produkte\u00a0\u2013 Mailgun und Mailgun Optimize\u00a0\u2013 voneinander abzugrenzen, ohne zwei separate Infrastrukturen f\u00fcr deren Support aufzubauen. Man k\u00f6nnte sich fragen, warum man sie \u00fcberhaupt trennen sollte. Warum nicht einfach die Produkte zusammenlegen, w\u00e4re das nicht einfacher? Nun, nicht wirklich. Unsere Produkte erf\u00fcllen ganz bestimmte Zwecke, und der Kauf eines Produkts bedeutet nicht, dass unsere Kundschaft gleich alle kaufen muss. Au\u00dferdem war das <b>oberste Ziel<\/b> bei der Neuentwicklung der Aufbau einer Infrastruktur, die das Hinzuf\u00fcgen weiterer Produkte in der Zukunft unterst\u00fctzt, ohne die Backend-Funktionalit\u00e4t zu beeintr\u00e4chtigen oder eine Situation zu schaffen, in der die Produkte f\u00fcr die Nutzerschaft schwer zu navigieren sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die L\u00f6sung: Design. Das bedeutete, neue Standards f\u00fcr unsere Mailgun- und Mailgun Optimize-Apps in Bezug auf Illustrationen, Markenfarben und Textformatierung zu setzen. Es bedeutete auch, das Marketing an die Art und Weise anzupassen, wie wir \u00fcber unsere Produkte sprechen und wie sie zusammenarbeiten.<\/p>\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Wir wussten, dass alle von uns gesetzten Standards zur Grundlage f\u00fcr das zuk\u00fcnftige Hinzuf\u00fcgen neuer Produkte und Funktionen werden w\u00fcrden.<\/div>\r\n    <\/div>\r\n\n\n\n<h3 class=\"wp-block-heading\">In der Gedankenwelt des Designs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Als wir mit dem Ausbau des Designprozesses begannen, <b>mussten wir die gemeinsamen Bereiche der App den app-spezifischen Bereichen gegen\u00fcberstellen. <\/b>Funktionen wie die Abrechnung und der Anmeldeprozess w\u00e4ren gemeinsame Bereiche im Gegensatz zu den unabh\u00e4ngigen Bereichen der Benutzeroberfl\u00e4che, die unseren individuellen Produkten dienen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir begannen bereits 2021 damit, uns den Bereich der Abrechnung anzusehen und konzentrierten uns auf die Logik, wie wir damit umgehen wollten, dass die Kundschaft ein einziges Abrechnungskonto haben kann, das die Verwaltung und Anpassung mehrerer Produkte unterst\u00fctzt. Dies gab die Richtung daf\u00fcr vor, wie wir vorgehen und Funktionen wie die Abrechnung oder unseren Anmeldeprozess aus der Perspektive der Zusammenf\u00fchrung mehrerer Produkte analysieren w\u00fcrden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir haben alle Touchpoints erfasst, die entweder auf einen gemeinsamen Bereich oder auf einen produktspezifischen Bereich innerhalb der App angewiesen sind. Dazu geh\u00f6rten Elemente wie eine linke Navigation, die produktspezifisch sein und produktspezifische Einstellungen enthalten sollte, gleichzeitig aber sicherstellte, dass gemeinsame Bereiche innerhalb der App denselben Mustern folgten.<\/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                            <svg height=\"40\" class=\"quote-icon quote-icon-color\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/custom-icons\/quotes-right.svg\"><\/svg>\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-8f8d6f1cb8d11e2df395482d2ad518a2\">\r\n            Wir haben umfangreiche Wettbewerbsrecherchen sowie allgemeine Trendanalysen zu Designmustern durchgef\u00fchrt, um zu sehen, wie der Wechsel zwischen Produkten innerhalb einer einzigen App heute gehandhabt wird und was im Hinblick auf die Anforderungen in der oberen Navigation sinnvoll war.        <\/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\/07\/nicki_snyder.jpeg\" alt=\"Foto von Nicki Snyder\">\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-8f8d6f1cb8d11e2df395482d2ad518a2\">\r\n                        Nicki Snyder                    <\/cite>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Als N\u00e4chstes haben wir uns Elemente der User Journey angesehen, um <b>die Designstruktur zu entwerfen<\/b> sowie Farbschemata festzulegen, die dabei helfen w\u00fcrden, das Nutzererlebnis zu optimieren. Wir lie\u00dfen uns dabei von zwei Fragen leiten:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Welchen Flow w\u00fcrde eine Person durchlaufen, wenn sie sich nun in einer einzigen App anstatt in zwei getrennten Apps bewegt?<\/li>\n\n\n\n<li>Wie planten wir, den Design-Flow rund um eine bestimmte Funktion in der neuen App zu handhaben und anzupassen?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Wir entwarfen Designs mit unterschiedlichen Farben und Platzierungen, um das Publikum zu Interaktionen innerhalb der App zu leiten, und f\u00fchrten anschlie\u00dfend User-Tests durch, um die Wege der Nutzerschaft zu beobachten und zu validieren. Wohin navigierten die Testpersonen? Was verrieten uns ihre Mausbewegungen \u00fcber eventuelles Z\u00f6gern? Was hatten sie erwartet, zu sehen?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anhand dieser User-Tests konnten wir die Designelemente weiter verfeinern, um die Navigation so zu optimieren, dass sie f\u00fcr unsere Nutzerschaft intuitiv verst\u00e4ndlich ist. Danach wurde eine <b>Beta-Version<\/b> f\u00fcr ausgew\u00e4hlte Personen eingef\u00fchrt, mit der wir Daten aus echten Sessions sammeln konnten, um zu verstehen, was gut funktionierte und wo noch nachgebessert werden musste.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4091\" width=\"2075\" height=\"845\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app.png\" alt=\"A screen shot of the new app user interface illustrating the design unity and product specific navigation menu.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app.png 2075w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-1536x626.png 1536w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-2048x834.png 2048w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-300x122.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-768x313.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/app-1024x417.png 1024w\" sizes=\"(max-width: 2075px) 100vw, 2075px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Austausch visueller Assets zur Anpassung an die Marke<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Austausch der visuellen Assets diente einerseits der Navigation und andererseits der Vereinheitlichung. Die Gestaltung der Navigationsmen\u00fcs mit unserer markenkonformen Farbpalette mag wie ein rein \u00e4sthetisches Bed\u00fcrfnis erscheinen, aber uns war klar, dass wir damit den gestalterischen Rahmen daf\u00fcr schufen, wie unsere Produkte k\u00fcnftig innerhalb eines gemeinsamen Bereichs unterschieden werden.<\/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                            <svg height=\"40\" class=\"quote-icon quote-icon-color\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/custom-icons\/quotes-right.svg\"><\/svg>\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-8cb5bcdfb6d8ddfc94361d200586de58\">\r\n            Wir haben eine Navigationsstruktur geschaffen, die nicht nur f\u00fcr Mailgun und Mailgun Optimize skalierbar ist, sondern k\u00fcnftig auch f\u00fcr unsere anderen E-Mail-Produkte.        <\/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\/07\/nicki_snyder.jpeg\" alt=\"Foto von Nicki Snyder\">\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-8cb5bcdfb6d8ddfc94361d200586de58\">\r\n                        Nicki Snyder                    <\/cite>\r\n                                            <span class=\"mb-0 text-body-color\">Director of Experience Design, Product<\/span>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Produkt-Icons erm\u00f6glichen eine eigenst\u00e4ndige Markenwahrnehmung, ohne dass die Anzeige der vollst\u00e4ndigen Logos zur Markenverwirrung f\u00fchrt. Dies w\u00fcrde uns zudem die M\u00f6glichkeit geben, die Markenbekanntheit f\u00fcr andere Produkte in unserem Portfolio zu steigern, indem wir \u00fcber deren Icons auf sie verlinken. Durch das Hinzuf\u00fcgen eines <b>Erkunden<\/b>-Bereichs (Explore) in der App, in dem Personen zwischen den Produkten wechseln k\u00f6nnen, sind wir in der Lage, Cross-Selling-Potenziale zu nutzen und auf unser gesamtes Produktangebot aufmerksam zu machen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Und schlie\u00dflich fanden wir es als Team gro\u00dfartig, der neuen, frischen Technologie einen ebenso neuen, frischen Look zu verpassen, um die Wirkung all unserer Neuentwicklungen noch weiter zu verst\u00e4rken.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie Portal sich weiterentwickelt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anwendungen d\u00fcrfen nicht stagnieren, und <b>Portal<\/b> wird sich im Laufe der Zeit weiterentwickeln. Genau das war der Sinn und Zweck, etwas mit einer Logik und Infrastruktur aufzubauen, die auf Skalierbarkeit ausgelegt ist. Welche \u00c4nderungen erwarten wir also als Erstes?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verfeinerung der Deployment-Architektur:<\/strong> In \u201e<a href=\"https:\/\/www.mailgun.com\/blog\/dev-life\/mailgun-app-rebuild-teil-eins\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Teil 1: Exzellente Ideen<\/a>\u201c haben wir \u00fcber die Menge an Code gesprochen, den wir im letzten Jahrzehnt geschrieben haben\u00a0\u2013 tausende von Zeilen\u00a0\u2013 und genau wie die schrittweise Portierung dieses Codes Zeit in Anspruch nehmen wird, braucht es auch Zeit, unsere bisherigen Deployment-Prozesse einzustellen. Das bedeutete, dass wir <b>Portal<\/b> so entwickeln mussten, dass es mit zwei Deployment-Prozessen funktioniert: unseren alten Prozessen und unserem neuen Build mit Cockpit\u00a0\u2013 was nat\u00fcrlich das einfachste Unterfangen aller Zeiten war \u2026 <i>Es war ein Albtraum, zwei Deployment-Prozesse.<\/i> Wir sind eben durch und durch ambitioniert.<\/i><\/li>\n\n\n\n<li><strong>Verwaltung mehrerer Codebasen:<\/strong> W\u00e4hrend wir daran arbeiten, unseren Code schrittweise zu portieren, m\u00fcssen wir weiterhin mehrere Codebasen verwalten und Code aus verschiedenen Produktbereichen \u00fcbertragen, bevor wir eine Vereinheitlichung erzielen k\u00f6nnen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Feedback-Schleife<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Portal <\/b>durchlief sowohl User-Tests als auch die Beta-Phase, sodass wir alle Fehler finden und beheben konnten\u00a0\u2013 das hat noch nie jemand in der Softwareentwicklung behauptet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Redesign der App wurde durchgef\u00fchrt, um sowohl unserer Nutzerschaft zu dienen als auch unseren internen Teams, die die App verwalten, das Leben zu erleichtern. Daher implementieren wir Feedback aus internen und externen Beobachtungen sowie Kommentaren. Wir sind mit der Absicht angetreten, dass sich kein Prozess verschlechtern w\u00fcrde und dass das App-Update nicht einen Prozess auf Kosten der Qualit\u00e4t eines anderen priorisiert. Und wir sind zuversichtlich, dass alles genauso gut ist\u00a0\u2013 oder sogar besser\u00a0\u2013 als in unserer alten Version.<\/p>\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> Wenn Ihnen in der App etwas unstimmig erscheint oder Sie einfach mal \u201eHallo\u201c sagen wollen, <a href='https:\/\/www.mailgun.com\/contact\/support\/'>kontaktieren Sie unser Team.<\/a> Wir h\u00f6ren nicht nur zu, wir sind ganz bei der Sache.<\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Seien Sie exzellent zueinander und schaffen Sie Gro\u00dfartiges<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie beendet man einen Beitrag, wenn das Projekt noch andauert? Die Mailgun-App hat die Beta-Phase erst vor Kurzem verlassen, und wir nehmen regelm\u00e4\u00dfig kleinere Verbesserungen vor, w\u00e4hrend wir gr\u00f6\u00dfere Releases planen, die von dieser anf\u00e4nglichen Neuentwicklung unterst\u00fctzt werden. Bill und Ted w\u00fcrden sagen: Seid exzellent zueinander und feiert sch\u00f6n weiter. Im Entwicklungsjargon bedeutet das: Wir machen weiter und wir iterieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Abspann<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dieses Projekt markiert einen wichtigen Meilenstein bei der visuellen Trennung unserer Produkte Mailgun und Mailgun Optimize innerhalb der App. Es bedeutet au\u00dferdem einen technologischen Wandel und eine neue Herangehensweise an unsere Frontend-Entwicklung. Es geht aber nicht nur um ein sch\u00f6nes Design \u2013 wir haben uns auch auf die Leistung konzentriert, um unsere Releases klein und agil zu halten. Die mit dieser Neuentwicklung eingef\u00fchrten \u00c4nderungen sind das Ergebnis einer gro\u00dfartigen Teamleistung, die es uns erm\u00f6glicht, uns von unserem veralteten Frontend-Monolithen zu verabschieden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ohne die Hilfe unseres unglaublich talentierten Teams h\u00e4tten wir das nicht geschafft, und wir wollten diese Serie nicht beenden, ohne ihnen unseren besonderen Dank auszusprechen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Core-UI-Team<\/b>: Nando Pe\u00f1a, Matt Leong, Matthew Prestlien<\/li>\n\n\n\n<li><b>Growth-Team<\/b>: Keith Cruz, Ryan Little, Jorge Miramontes, Mazen Abdul<\/li>\n\n\n\n<li><b>Mailgun Optimize-Team<\/b>: David Ortiz, Dannon Gilbert, Jeffrey Jurgajtis, Peter Trinder<\/li>\n\n\n\n<li><b>Mailgun-Team<\/b>: Celeste Rance, Jonathan Kruse, Iqbal Singh, Levi Trejo, John Badali, Chris Farmer, Nicki Snyder (Design)<\/li>\n\n\n\n<li><b>Executive Sponsor<\/b>: Josh Odom<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dieses Projekt begann als Graswurzelbewegung innerhalb von Mailgun und wuchs, als der Funke auf andere Teams \u00fcbersprang. Heute unterst\u00fctzt unsere aktualisierte App ein optimiertes Nutzererlebnis <i>und <\/i>eine verbesserte Developer Experience. Aber wir sind noch nicht fertig. Wir sind nie fertig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><i>M\u00f6chten Sie einen Blick hinter die Kulissen werfen und unsere Geschichten verfolgen, w\u00e4hrend wir weitere gro\u00dfartige Dinge auf den Markt bringen? Abonnieren Sie unseren Newsletter, um immer auf dem Laufenden zu bleiben.<\/i><\/p>\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-1883\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-1883\" 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-5303\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-5303\" 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>Die Neuentwicklung der Mailgun-App war ein gewaltiges Unterfangen und eine unglaubliche Reise. Wir nehmen Sie in einem zweiteiligen Beitrag mit hinter die Kulissen und zeigen Ihnen ganz genau, wie und warum wir das umgesetzt haben. In Teil 1 haben wir die Frage beantwortet: Warum ein Rebuild? In Teil 2 tauchen wir in die Implementierung und Ausf\u00fchrung ein.<\/p>\n","protected":false},"author":17,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[19],"class_list":["post-25633","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-dev-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-22T13:34:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/\",\"name\":\"So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2023-01-19T00:00:00+00:00\",\"dateModified\":\"2026-09-22T13:34:37+00:00\",\"description\":\"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mailgun-app-rebuild-teil-zwei\\\/#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\":\"Ein genauerer Blick auf die Mailgun-App: Teil 2\u00a0\u2013 Eine absolut triumphale Umsetzung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun","description":"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/","og_locale":"de_DE","og_type":"article","og_title":"So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun","og_description":"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-22T13:34:37+00:00","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/","url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/","name":"So haben wir unsere Mailgun-App f\u00fcr mehrere Produkte neu entwickelt: Teil 2 - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2023-01-19T00:00:00+00:00","dateModified":"2026-09-22T13:34:37+00:00","description":"Es ist eine Sache, eine Idee zu haben, und eine ganz andere, sie umzusetzen. Lesen Sie Teil 2 unserer App-Neuentwicklung, in dem wir team\u00fcbergreifend an der Verwirklichung unserer Vision arbeiten.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mailgun-app-rebuild-teil-zwei\/#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":"Ein genauerer Blick auf die Mailgun-App: Teil 2\u00a0\u2013 Eine absolut triumphale Umsetzung"}]},{"@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\/25633","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\/17"}],"version-history":[{"count":1,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/25633\/revisions"}],"predecessor-version":[{"id":25637,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/25633\/revisions\/25637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=25633"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=25633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}