{"id":24488,"date":"2026-09-16T14:42:46","date_gmt":"2026-09-16T14:42:46","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/como-cumple-kanban2go-ley-zawinski\/"},"modified":"2026-09-16T14:42:46","modified_gmt":"2026-09-16T14:42:46","slug":"como-cumple-kanban2go-ley-zawinski","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/","title":{"rendered":"C\u00f3mo cumple Kanban2go con la ley de Zawinski"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Este art\u00edculo de blog de un cliente ha sido escrito por Damon Cali. Damon es el propietario de\u00a0Ninth Yard, creadores de TrackJumper, una sencilla aplicaci\u00f3n web para el seguimiento de errores. Tambi\u00e9n es el desarrollador web principal de\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\">Todo programa intenta expandirse hasta que puede leer emails. Aquellos programas que no logran expandirse as\u00ed son sustituidos por otros que s\u00ed pueden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ley de Zawinski<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No s\u00e9 si ser\u00e1 verdad, pero\u00a0<a href=\"https:\/\/kanban2go.com\/\">kanban2go<\/a>\u00a0hace poco dio un paso en esa direcci\u00f3n al incorporar una funci\u00f3n basada en email. Lo primero que resulta obvio desde el principio es que escribir una aplicaci\u00f3n web que pueda recibir emails es dif\u00edcil. Hay muchos elementos en movimiento, y algunos de ellos son grandes proyectos en s\u00ed mismos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? \u00bfQuieres mantener tu propio servidor de email? \u00bfDebes configurar buzones para todos tus usuarios? \u00bfY qu\u00e9 pasa con el spam y la entregabilidad? Es suficiente para que el equipo de desarrollo se pregunte si vale la pena.<\/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-3769\"><p class=\"h5 m-0\" id=\"toc-title-3769\">\u00cdndice<\/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=\"#encontrar-una-forma-mas-facil-de-que-los-usuarios-creen-tareas\">Encontrar una forma m\u00e1s f\u00e1cil de que los usuarios creen tareas<\/a><a class=\"scrollme link-body-color\" href=\"#paso-1-configurar-tu-dominio\">Paso 1: Configurar tu dominio<\/a><a class=\"scrollme link-body-color\" href=\"#paso-2-configurar-las-rutas-para-el-reenvio-de-emails\">Paso 2: Configurar las rutas para el reenv\u00edo de emails<\/a><a class=\"scrollme link-body-color\" href=\"#paso-3-recibir-emails-con-rails\">Paso 3: Recibir emails con Rails<\/a><a class=\"scrollme link-body-color\" href=\"#paso-4-relajarse\">Paso 4: Relajarse<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Encontrar una forma m\u00e1s f\u00e1cil de que los usuarios creen tareas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esto es lo que me pasaba por la cabeza cuando creamos el buz\u00f3n de tareas de kanban2go. Pero antes, un poco de contexto. kanban2go es una aplicaci\u00f3n de gesti\u00f3n de tareas dise\u00f1ada en torno a los principios del\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Kanban\">kanban<\/a>. Cada usuario tiene uno o m\u00e1s tableros kanban virtuales, en los que hay varias \u201ctareas\u201d virtuales. Inicias sesi\u00f3n, haces clic en \u201cAdd Task\u201d y aparece una tarea en el tablero que puedes editar, arrastrar y con la que puedes interactuar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quer\u00edamos mejorar la experiencia ofreciendo a los usuarios una forma de enviar tareas por email a su cuenta, en lugar de tener que iniciar sesi\u00f3n en la aplicaci\u00f3n. Ah\u00ed fue cuando la cabeza me empez\u00f3 a dar vueltas, lo que suele ser un buen indicador de que es el momento de ver si alguien m\u00e1s ha resuelto el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los buenos artistas toman prestado. Los grandes artistas roban. En este caso, los artistas pragm\u00e1ticos alquilan. Por suerte, Mailgun facilita todo este proceso. En este art\u00edculo voy a exponer c\u00f3mo abordamos el problema, con la esperanza de que funcione como disparador de algunas ideas para tu propia aplicaci\u00f3n. El c\u00f3digo que mostramos aqu\u00ed no es exactamente el que usamos (es una versi\u00f3n simplificada), pero las diferencias tienen m\u00e1s que ver con kanban2go que con Mailgun.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 1: Configurar tu dominio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El primer paso (despu\u00e9s de registrarte en Mailgun) es crear y configurar tu dominio en Mailgun.<\/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_dfd05db9f7cfd1651b12c3eaf3cb1983\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Reg\u00edstrate            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_dfd05db9f7cfd1651b12c3eaf3cb1983\">\r\n                Empezar es facil\u00edsimo. Y gratis.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Descubre todo lo que puedes lograr con la mejor plataforma de entrega de emails del mundo.<\/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\"> Nosotros elegimos usar taskbox.kanban2go.com. De este modo, un usuario puede enviar un mensaje a user_abc123@taskbox.kanban2go.com (por ejemplo) y hacer que el mensaje aparezca en su buz\u00f3n de tareas como una tarea de kanban2go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La configuraci\u00f3n del dominio consiste, b\u00e1sicamente, en configurar los registros DNS de tu dominio seg\u00fan las indicaciones de Mailgun y seleccionar las opciones que quieras en el panel de control. Las instrucciones detalladas para los ajustes de DNS se encuentran en el panel de control de Mailgun. Solo tienes que seguirlas.<\/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\">En cuanto a las opciones, decidimos activar el filtro de spam para bloquear todo el spam entrante (tambi\u00e9n podr\u00edas conservar el spam, pero preferimos simplificar las cosas). Dado que solo necesit\u00e1bamos un subdominio, nos decantamos por un dominio normal en lugar de un dominio comod\u00edn.<\/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\">Y eso es todo en cuanto a la configuraci\u00f3n del dominio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 2: Configurar las rutas para el reenv\u00edo de emails<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Gran parte de la sencillez de Mailgun se debe a su sistema de enrutamiento. Puedes configurar rutas para indicar a Mailgun qu\u00e9 hacer con los mensajes que recibe en el dominio que has configurado. En nuestro caso, no pod\u00eda ser m\u00e1s sencillo: quer\u00edamos que Mailgun reenviara todos los mensajes enviados a *@taskbox.kanban2go.com a una URL de nuestra aplicaci\u00f3n: http:\/\/kanban2go.com\/mailgun\/receive. La acci\u00f3n en esa URL procesar\u00e1 el mensaje entrante de forma adecuada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mejor de las rutas es que admiten <a href=\"http:\/\/en.wikipedia.org\/wiki\/Regular_expression\" target=\"_tabs\" rel=\"noopener noreferrer\">expresiones regulares<\/a> e incluso <a href=\"http:\/\/www.regular-expressions.info\/named.html\" target=\"_tabs\" rel=\"noopener noreferrer\">capturas con nombre<\/a> que se transmiten a las acciones, por lo que ofrecen much\u00edsima flexibilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las rutas se configuran en la pesta\u00f1a de Rutas del panel de control de Mailgun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar, creamos una expresi\u00f3n de filtro, que puedes ver como una expresi\u00f3n regular para Mailgun. En nuestro caso queremos que coincida con cada mensaje enviado a nuestro dominio.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>match_recipient('.*@taskbox.kanban2go.com')<\/code> A continuaci\u00f3n, definimos una acci\u00f3n que indica a Mailgun qu\u00e9 debe hacer cuando encuentra una coincidencia.<\/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\">En este caso, reenviamos el mensaje a nuestra aplicaci\u00f3n y luego nos detenemos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mailgun analizar\u00e1 los mensajes por ti para proporcionarte algunas funciones pr\u00e1cticas, o bien puedes elegir recibir el mensaje sin procesar. Como no estamos haciendo nada complejo y nos ahorra algo de trabajo, optamos por recibir los mensajes ya analizados por Mailgun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed es donde ocurre gran parte de la magia. Cuando Mailgun recibe un mensaje coincidente, lo procesa y env\u00eda una solicitud POST a la URL indicada en la ruta de Mailgun. Los par\u00e1metros de esa solicitud incluyen el remitente, el asunto, el cuerpo del mensaje y muchas otras cosas \u00fatiles. <a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Consulta la documentaci\u00f3n<\/a> para obtener m\u00e1s informaci\u00f3n sobre las rutas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 3: Recibir emails con Rails<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora que Mailgun nos env\u00eda solicitudes POST, tenemos que configurar nuestra aplicaci\u00f3n Rails para gestionarlas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En kanban2go, un usuario tiene muchas tareas. Cada tarea tiene un atributo llamado \u201ccontent\u201d que incluye el texto de la tarea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestra aplicaci\u00f3n Rails, tenemos que gestionar las solicitudes POST de Mailgun en <code>http:\/\/kanban2go.com\/mailgun\/receive<\/code>. El primer paso es crear una ruta para nuestra nueva acci\u00f3n en routes.rb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>post '\/mailgun\/receive' =&gt; 'mailgun#receive'<\/code> A continuaci\u00f3n, tenemos que crear un MailgunController con una acci\u00f3n \u201creceive\u201d en <code>mailgun_controller.rb<\/code>.<\/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=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\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\">Ten en cuenta que debemos desactivar la protecci\u00f3n contra falsificaciones para la acci\u00f3n receive. Para obtener m\u00e1s informaci\u00f3n sobre el funcionamiento de protect_from_forgery, hay una excelente explicaci\u00f3n en la <a href=\"http:\/\/guides.rubyonrails.org\/security.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Gu\u00eda de seguridad de Rails<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo primero que hay que hacer en la acci\u00f3n receive es recuperar al usuario al que se envi\u00f3 el mensaje. Para ello, asignamos a cada usuario una \u00fanica direcci\u00f3n de email para el buz\u00f3n de tareas (en un atributo \u201ctaskbox_address\u201d) al crear su perfil por primera vez. Por ejemplo, un taskbox_address podr\u00eda ser \u201chard_to_guess74623@taskbox.kanban2go.com\u201d. Lo importante es que el nombre de usuario de la direcci\u00f3n debe ser \u00fanico y dif\u00edcil de adivinar. A continuaci\u00f3n, buscamos al usuario con el m\u00e9todo User.find_by_taskbox_address (Mailgun lo env\u00eda como par\u00e1metro &#8216;recipient&#8217;).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s extraemos el par\u00e1metro \u201cstripped-text\u201d de la solicitud. Esto es algo que Mailgun proporciona cuando analiza un mensaje de email. El \u201cstripped-text\u201d es simplemente el cuerpo del email sin ninguna parte citada ni firma.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si encontramos a un usuario, creamos una tarea que le pertenezca y establecemos el texto extra\u00eddo como contenido de dicha tarea. Si no encontramos ning\u00fan usuario, no ocurre nada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Paso 4: Relajarse<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso es todo. Eso es todo lo que hace falta para convertir emails en tareas con Mailgun. Por supuesto, este es un ejemplo muy sencillo. En funci\u00f3n de tus necesidades de seguridad y privacidad, es posible que tengas que realizar comprobaciones y l\u00f3gica adicionales en tu aplicaci\u00f3n, pero Mailgun ya se encarga del trabajo duro: el enrutamiento, el an\u00e1lisis y el filtro de spam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Espero que esto ayude a aclarar por qu\u00e9 ya no tienes que temerle al uso del email en tu aplicaci\u00f3n. Hay todo un mundo de posibilidades, solo tienes que usar la creatividad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfEst\u00e1s pensando en incorporar la gesti\u00f3n de emails en tu aplicaci\u00f3n? \u00bfQu\u00e9 opinas del enfoque que hemos descrito aqu\u00ed? Deja tu opini\u00f3n en los comentarios del blog o \u00fanete a <a href=\"http:\/\/news.ycombinator.com\/item?id=5227352\" target=\"_tabs\" rel=\"noopener noreferrer\">la conversaci\u00f3n en HackerNews<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><i>Aviso legal: el fundador de kanban2go.com, Prabhakar Gopalan, trabaja en Rackspace, la empresa matriz de Mailgun. kanban2go.com es anterior al trabajo de Prabhakar en Rackspace.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \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-24488","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>C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \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\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/\" \/>\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 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/\",\"name\":\"C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T14:42:46+00:00\",\"description\":\"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/#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\\\/es\\\/blog\\\/product\\\/como-cumple-kanban2go-ley-zawinski\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"C\u00f3mo cumple Kanban2go con la ley de Zawinski\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Potentes API de email transaccional que te permiten enviar, recibir y hacer seguimiento de emails, creadas pensando en los desarrolladores. \u00a1Descubre m\u00e1s!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#\\\/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\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun","description":"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \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\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun","og_description":"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \u2013","og_url":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/","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 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/","url":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/","name":"C\u00f3mo cumple kanban2go con la Ley de Zawinski - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T14:42:46+00:00","description":"El usuario env\u00eda un mensaje de email y tienes que recibirlo y procesarlo de alguna manera. \u00bfC\u00f3mo se hace? M\u00e1s informaci\u00f3n \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/#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\/es\/blog\/product\/como-cumple-kanban2go-ley-zawinski\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/es\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/es\/blog\/"},{"@type":"ListItem","position":3,"name":"C\u00f3mo cumple Kanban2go con la ley de Zawinski"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/es\/#website","url":"https:\/\/www.mailgun.com\/es\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Potentes API de email transaccional que te permiten enviar, recibir y hacer seguimiento de emails, creadas pensando en los desarrolladores. \u00a1Descubre m\u00e1s!","publisher":{"@id":"https:\/\/www.mailgun.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/es\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.mailgun.com\/es\/#\/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\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/24488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/24488\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media?parent=24488"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog_category?post=24488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}