{"id":24119,"date":"2026-09-16T10:55:58","date_gmt":"2026-09-16T10:55:58","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/"},"modified":"2026-09-16T10:55:58","modified_gmt":"2026-09-16T10:55:58","slug":"codigo-aberto-biblioteca-analise-assinaturas-e-mail","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/","title":{"rendered":"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">L\u00e1 em 2011, v\u00e1rios clientes nos pediram uma API de an\u00e1lise de mensagens de alto n\u00edvel que pudesse ser usada para remover assinaturas e cita\u00e7\u00f5es de um e-mail, como voc\u00ea v\u00ea abaixo:<\/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-1840\"><p class=\"h5 m-0\" id=\"toc-title-1840\">\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=\"#o-problema\">O problema<\/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=\"#nossa-solucao\">Nossa solu\u00e7\u00e3o<\/a><\/div><\/div><\/nav>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4703\" width=\"1024\" height=\"427\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/email_conversation.png\" alt=\"Mockup of an email conversation\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/email_conversation.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/email_conversation-300x125.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/email_conversation-768x320.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">O problema<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Embora seja simples para pessoas, essa \u00e9 uma tarefa bastante desafiadora para m\u00e1quinas. Um dos principais motivos \u00e9 que <b>n\u00e3o h\u00e1 um formato padr\u00e3o para uma mensagem de e-mail<\/b>. Diferentes clientes de e-mail redigem respostas de maneiras diferentes e, mesmo no mesmo cliente de e-mail, o remetente pode alterar o formato para o que preferir. Por exemplo, os usu\u00e1rios podem colocar a resposta ap\u00f3s citar a mensagem original (postagem inferior):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\u00c0s 10:01 de quarta-feira, Danny escreveu:<br>&gt; A prop\u00f3sito, quais sistemas ser\u00e3o atualizados? Tive alguns problemas de rede<br>&gt; ap\u00f3s a atualiza\u00e7\u00e3o da semana passada.  Terei que reiniciar?<br>N\u00e3o, voc\u00ea n\u00e3o precisar\u00e1 reiniciar.<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">antes da mensagem original citada (postagem superior):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>N\u00e3o, voc\u00ea n\u00e3o precisar\u00e1 reiniciar.<br>\n-------- Mensagem Original --------<br>\nDe: Danny <br>\nEnviado: Ter\u00e7a-feira, 16 de outubro de 2007, \u00e0s 10:01<br>\nPara: Jim <br>\nAssunto: RE: Job<br>\nA prop\u00f3sito, quais sistemas ser\u00e3o atualizados? Tive alguns problemas de rede<br>\nap\u00f3s a atualiza\u00e7\u00e3o da semana passada.  Terei que reiniciar?<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ou at\u00e9 mesmo intercalar a resposta:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&gt; Voc\u00ea pode apresentar seu relat\u00f3rio uma hora mais tarde?<br>Sim, eu posso. O resumo ser\u00e1 enviado at\u00e9 as 17:00.<br>Jim<br>\u00c0s 10:01 de quarta-feira, Danny escreveu:<br>&gt;&gt; 14:00: Apresentar relat\u00f3rio<br>&gt; Jim, tenho uma reuni\u00e3o nesse hor\u00e1rio. Voc\u00ea pode apresentar seu relat\u00f3rio uma hora mais tarde?<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De fato, existem tantas maneiras diferentes de responder, que h\u00e1 at\u00e9 um\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Posting_style\" target=\"_tabs\" rel=\"noopener noreferrer\">artigo na Wikip\u00e9dia<\/a>\u00a0sobre isso! Tudo isso torna a an\u00e1lise do corpo de um e-mail uma tarefa desafiadora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mesmo com o aprendizado de m\u00e1quina, tivemos que ajustar as coisas constantemente. A formata\u00e7\u00e3o de e-mail muda a todo momento, clientes de e-mail para celular est\u00e3o introduzindo novas assinaturas como &#8220;Enviado do seu telefone XXX&#8221;, novos casos extremos s\u00e3o descobertos, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui est\u00e1 um exemplo simples. Antigamente, todas as assinaturas de e-mail eram separadas por tra\u00e7os:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4704\" width=\"761\" height=\"136\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/dash_separator.png\" alt=\"Mockup of email signature separated by dashes\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/dash_separator.png 761w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/dash_separator-300x54.png 300w\" sizes=\"(max-width: 761px) 100vw, 761px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, a primeira coisa que vem \u00e0 mente \u00e9 escrever um regex para detectar tra\u00e7os como separadores e extrair as linhas seguintes como uma assinatura:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&gt;&gt;&gt; signature = regex.match(\"^[s]*--*[s]*[a-z .]*$).*\", message)<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas de repente voc\u00ea recebe um e-mail como este:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4705\" width=\"272\" height=\"165\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/honey.png\" alt=\"Dashes used in a list included in an email\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">E o seu parser remove a parte mais importante do e-mail. \u00c9 um exemplo muito simples e voc\u00ea poderia contorn\u00e1-lo facilmente. Mas, na vida real, <b>as coisas ficam muito mais complicadas e dif\u00edceis.<\/b><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nossa solu\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fizemos muitas pesquisas, analisamos todas as varia\u00e7\u00f5es de e-mail que passam pelo Mailgun e chegamos a uma solu\u00e7\u00e3o baseada em algumas t\u00e9cnicas de aprendizado de m\u00e1quina. A solu\u00e7\u00e3o j\u00e1 est\u00e1 em produ\u00e7\u00e3o h\u00e1 v\u00e1rios anos, passando por corre\u00e7\u00f5es de bugs e melhorias. No geral, recebemos um feedback positivo dos clientes, embora, naturalmente, a equipe de desenvolvimento tenda a apontar onde se pode melhorar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, agora <b>todo mundo tem a chance de ajudar a melhorar a solu\u00e7\u00e3o<\/b>. Devido ao cen\u00e1rio de e-mail distribu\u00eddo e em constante mudan\u00e7a, decidimos lidar com esse problema com uma solu\u00e7\u00e3o distribu\u00edda:\u00a0<i>estamos lan\u00e7ando nossa biblioteca em c\u00f3digo aberto para que possamos trabalhar nisso em conjunto!<\/i><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos chamando nossa nova biblioteca de\u00a0<a href=\"https:\/\/github.com\/mailgun\/talon\" target=\"_tabs\" rel=\"noopener noreferrer\">talon<\/a>\u00a0em homenagem a um rob\u00f4 multifuncional projetado para realizar miss\u00f5es que v\u00e3o desde o reconhecimento ao combate, operando em v\u00e1rios ambientes hostis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caso voc\u00ea queira come\u00e7ar a testar agora mesmo, <b>preparamos um\u00a0<\/b><a href=\"http:\/\/talon.mailgun.net\/\" target=\"_tabs\" rel=\"noopener noreferrer\"><b>Aplicativo de demonstra\u00e7\u00e3o<\/b><\/a><b>\u00a0simples e um\u00a0<\/b><a href=\"https:\/\/github.com\/mailgun\/talon\/blob\/master\/README.rst\" target=\"_tabs\" rel=\"noopener noreferrer\"><b>Guia de in\u00edcio r\u00e1pido<\/b><\/a><b>\u00a0para voc\u00ea<\/b>. Caso contr\u00e1rio, continue lendo para ter uma vis\u00e3o mais geral, conhecer as abordagens que adotamos e ver os resultados das avalia\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veja como s\u00e3o os fluxos de trabalho mais comuns:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4706\" width=\"1056\" height=\"811\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_diagram-1.png\" alt=\"A workflow chart for common workflows\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_diagram-1.png 1056w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_diagram-1-300x230.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_diagram-1-768x590.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_diagram-1-1024x786.png 1024w\" sizes=\"(max-width: 1056px) 100vw, 1056px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Atualmente, usamos o aprendizado de m\u00e1quina apenas para classificar as linhas de assinatura. O resto da biblioteca \u00e9 composto por v\u00e1rias heur\u00edsticas e verifica\u00e7\u00f5es de integridade que criamos ao trabalhar em tickets de suporte e ao analisar padr\u00f5es e tend\u00eancias na formata\u00e7\u00e3o de mensagens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A parte de aprendizado de m\u00e1quina da biblioteca foi inspirada nos seguintes artigos de pesquisa:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.cs.cmu.edu\/~vitor\/papers\/sigFilePaper_finalversion.pdf\" target=\"_tabs\" rel=\"noopener noreferrer\">http:\/\/www.cs.cmu.edu\/~vitor\/papers\/sigFilePaper_finalversion.pdf<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.cs.cornell.edu\/people\/tj\/publications\/joachims_01a.pdf\" target=\"_tabs\" rel=\"noopener noreferrer\">http:\/\/www.cs.cornell.edu\/people\/tj\/publications\/joachims_01a.pdf<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para classificar as linhas de assinatura, usamos o\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Support_vector_machine\" target=\"_tabs\" rel=\"noopener noreferrer\">SVM<\/a>\u00a0com Kernel Linear. Para avaliar nossos classificadores, usamos a\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Cross-validation_%28statistics%29\" target=\"_tabs\" rel=\"noopener noreferrer\">valida\u00e7\u00e3o cruzada com 5 folds<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4707\" width=\"304\" height=\"168\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_assessment.png\" alt=\"Code for cross validation\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_assessment.png 304w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/talon_assessment-300x166.png 300w\" sizes=\"(max-width: 304px) 100vw, 304px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">O conjunto de dados era composto por 2.912 linhas de e-mail. De 1.030 linhas de assinatura, 954 foram classificadas corretamente. De 1.882 linhas que n\u00e3o eram assinaturas, 147 foram confundidas com assinaturas. No geral, isso nos d\u00e1 uma taxa de sucesso de 92% e uma \u00e1rea sob a curva ROC de 78%. O que poderia ser considerado excelente e justo, respectivamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao modificarmos a biblioteca para c\u00f3digo aberto, tentamos fornecer uma estrutura robusta e, ao mesmo tempo, facilitar a adi\u00e7\u00e3o de novas funcionalidades. Pela nossa experi\u00eancia, as partes que poderiam exigir mais foco s\u00e3o as express\u00f5es regulares para separadores de cita\u00e7\u00f5es e assinaturas, e a extra\u00e7\u00e3o de cita\u00e7\u00f5es HTML atrav\u00e9s das tags HTML. No entanto, sinta-se \u00e0 vontade para contribuir com qualquer parte da biblioteca que desejar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Esperamos que voc\u00ea ache a biblioteca \u00fatil e que ela facilite a sua vida.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bons envios!<\/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_150935b6777a47b0999db2f46c7d15fc\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Cadastre-se            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_150935b6777a47b0999db2f46c7d15fc\">\r\n                \u00c9 f\u00e1cil come\u00e7ar. E \u00e9 gr\u00e1tis.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Veja o que voc\u00ea pode alcan\u00e7ar com a melhor plataforma de entrega de e-mail do 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","protected":false},"excerpt":{"rendered":"<p>L\u00e1 em 2011, v\u00e1rios clientes nos pediram uma API de an\u00e1lise de mensagens de alto n\u00edvel que pudesse ser usada para remover assinaturas e cita\u00e7\u00f5es de um e-mail, como voc\u00ea v\u00ea abaixo:<\/p>\n","protected":false},"author":47,"featured_media":4555,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[22],"class_list":["post-24119","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>Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?\" \/>\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\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/\" \/>\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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/\",\"name\":\"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T10:55:58+00:00\",\"description\":\"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/#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\\\/pt\\\/blog\\\/product\\\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#\\\/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\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun","description":"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?","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\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/","og_locale":"pt_BR","og_type":"article","og_title":"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun","og_description":"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?","og_url":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/","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":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/","url":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/","name":"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T10:55:58+00:00","description":"O Mailgun disponibilizou sua biblioteca de an\u00e1lise de assinaturas de e-mail em c\u00f3digo aberto em 2014. Tem interesse em aprender sobre a metodologia?","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/#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\/pt\/blog\/product\/codigo-aberto-biblioteca-analise-assinaturas-e-mail\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/pt\/inicio\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/pt\/blog\/"},{"@type":"ListItem","position":3,"name":"Lan\u00e7amento em c\u00f3digo aberto da nossa biblioteca de an\u00e1lise de assinaturas de e-mail"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/pt\/#website","url":"https:\/\/www.mailgun.com\/pt\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!","publisher":{"@id":"https:\/\/www.mailgun.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/pt\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/#\/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\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/24119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/users\/47"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/24119\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=24119"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog_category?post=24119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}