{"id":18196,"date":"2025-01-28T04:12:02","date_gmt":"2025-01-28T04:12:02","guid":{"rendered":"https:\/\/www.mailgun.com\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/"},"modified":"2026-09-03T15:05:53","modified_gmt":"2026-09-03T15:05:53","slug":"como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby","status":"publish","type":"case-studies","link":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/","title":{"rendered":"Como a AdRoll envia &amp; rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ol\u00e1, eu sou Peter, CEO da userfox. A userfox ajuda as empresas a enviarem e-mails de boas-vindas melhores e mais eficazes. Hoje, a maioria das empresas d\u00e1 as boas-vindas aos novos clientes com um \u00fanico e-mail de \u201cbem-vindo ao meu produto!\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O problema disso \u00e9 que as pessoas est\u00e3o ocupadas. Voc\u00ea esquece que se inscreveu em servi\u00e7os, s\u00f3 se lembra dos servi\u00e7os de que precisa ou que adora, e isso geralmente n\u00e3o acontece no segundo em que voc\u00ea se registra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, a userfox envia uma sequ\u00eancia de e-mails: quando voc\u00ea se registra, alguns dias depois, uma semana depois, mais tarde no m\u00eas, e assim por diante. A ind\u00fastria chama isso de uma sequ\u00eancia &#8220;drip&#8221;. Esses e-mails cont\u00eam dicas e truques legais sobre o seu produto, anedotas sobre quem s\u00e3o seus clientes e por que eles o adoram \u2013 e assim por diante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fazemos isso de forma muito simples. De fato, \u00e9 muito mais r\u00e1pido integrar a userfox ao seu aplicativo do que enviar aquele seu \u00fanico e-mail de boas-vindas ruim. \u00c9 uma decis\u00e3o f\u00e1cil, n\u00e3o \u00e9? basta colar um \u00fanico trecho de javascript no seu rodap\u00e9 \u2013 e voil\u00e0.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como arquitetamos o nosso aplicativo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Framework: Ruby on Rails<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automa\u00e7\u00e3o de e-mail &amp; infraestrutura: Mailgun<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Banco de dados: MongoHQ para MongoDB<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Testes: Citrus<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como usamos o Mailgun<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Somos uma empresa de e-mail marketing. N\u00e3o somos uma empresa de infraestrutura, ent\u00e3o contamos com o Mailgun para fazer coisas que, de outra forma, ter\u00edamos que construir. O Mailgun entrega todos os e-mails dos nossos clientes. A API de an\u00e1lises do Mailgun alimenta as an\u00e1lises da userfox. Por que dever\u00edamos reinventar a roda com essas coisas, quando o Mailgun faz um trabalho t\u00e3o fant\u00e1stico? Al\u00e9m disso, voc\u00ea j\u00e1 tentou gerenciar um servidor de e-mail? O Mailgun faz o trabalho de Deus\u2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nossa implementa\u00e7\u00e3o b\u00e1sica usando o Mailgun fica assim. Constru\u00edmos os dados da mensagem juntos:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                Ruby                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    data = {:to =&gt; email, :from =&gt; get_from(trigger), :subject =&gt; get_subject(info, email,  \r\ntrigger), :text =&gt; &quot;#{text}&quot;, :html =&gt; &quot;#{html}&quot;, &quot;h:X-Mailgun-Variables&quot; =&gt; &quot;{&quot;id&quot;: &quot;&quot; + id + &quot;&quot;}&quot;}\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">E ent\u00e3o a colocamos em uma fila em um job via um POST REST. O Mailgun permite o envio via SMTP, mas preferimos a flexibilidade e a velocidade que v\u00eam com o uso da API. Nosso post fica assim.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                Ruby                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                       RestClient.post Userfox::Application.config.mailgun_endpoint + &#039;\/&#039; + domain + &#039;\/messages&#039;, data, :Authorization =&gt; Userfox::Application.config.mailgun_auth {  \r\n      |response, request, result|\r\n      return response\r\n    }\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\">O Mailgun \u00e9 muito poderoso quando se trata de enviar mensagens. Mas tamb\u00e9m executamos todas as nossas an\u00e1lises a partir do Mailgun. Quando uma mensagem \u00e9 enviada, queremos saber se foi entregue e o que aconteceu com ela. Foi aberta, clicada, reportada como spam? O usu\u00e1rio cancelou a inscri\u00e7\u00e3o (claro, isso nunca aconteceria)? Todos esses dados podem ser enviados para o seu aplicativo com webhooks. Por exemplo, se voc\u00ea quisesse fazer um post em seu banco de dados quando um usu\u00e1rio clicar em um link, voc\u00ea poderia fazer isto:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                Ruby                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-clipboard-success-label=\"Copiado!\" data-clipboard-error-label=\"N\u00e3o foi poss\u00edvel copiar\" data-tooltip=\"Copiar para a \u00e1rea de transfer\u00eancia\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copiar para a \u00e1rea de transfer\u00eancia\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-Ruby\">\r\n                                <code id=\"code_0_content\" class=\"language-Ruby\">\r\n\r\n                                    AdRoll Code 2require &#039;openssl&#039;  \r\ndef verify(api_key, token, timestamp, signature)  \r\n  return signature == OpenSSL::HMAC.hexdigest(\r\n                          OpenSSL::Digest::Digest.new(&#039;sha256&#039;),\r\n                          api_key,\r\n                          &#039;%s%s&#039; % [timestamp, token])\r\nend\u00a0class PostsController  &quot;Name&quot;, :title =&gt; &quot;Title&quot;,\r\n                         :content =&gt; &quot;#{user} clicked on #{link}&quot;).save\r\n      end\r\n    end\r\n    render :text =&gt; &quot;OK&quot;\r\n  end\r\nend\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Isso diria a voc\u00ea que um usu\u00e1rio clicou em um e-mail e lhe daria informa\u00e7\u00f5es sobre quem clicou. Voc\u00ea pode fazer isso para cliques, aberturas, cancelamentos de inscri\u00e7\u00e3o, reclama\u00e7\u00f5es de spam, devolu\u00e7\u00f5es, falhas e entregas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea tem um neg\u00f3cio que precisa se comunicar com clientes, d\u00ea \u00e0 \u00a0<a href=\"http:\/\/www.userfox.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">userfox<\/a>\u00a0uma chance. Fizemos o trabalho duro por voc\u00ea.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"quote hub-quote longform-spacings d-flex flex-column rounded-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 shadow-sm bg-primary\" data-theme=\"light\">\r\n\r\n        <div class=\"quote-logo mb-3\">\r\n                            <img decoding=\"async\" class=\"quote-logo\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/omnisend.svg\" alt=\"Logotipo da cita\u00e7\u00e3o de Paulius Milisauskas\">\r\n                    <\/div>\r\n\r\n        <blockquote class=\"quote-content content-body m-0 text-body-color\" id=\"quote-block-f8846216faf7a70f213e539854bd0e6c\">\r\n            &#8220;Conseguimos garantir melhor atendimento aos nossos profissionais de marketing usando o Mailgun. Eles contam conosco, e n\u00f3s contamos com o Mailgun: e esse relacionamento nos ajuda a manter a credibilidade com nossos clientes.&#8221;        <\/blockquote>\r\n\r\n                    <div class=\"d-flex gap-3 mt-5\">\r\n                                    <div>\r\n                        <img decoding=\"async\" width=\"72\" height=\"72\" class=\"rounded-lg quote-author\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/Portrait-Paulius-Milisauskas-Omnisend.png\" alt=\"Foto de Paulius Milisauskas\">\r\n                    <\/div>\r\n                                <div class=\"d-flex flex-column align-self-center fs-sm\">\r\n                    <cite class=\"mb-0 fw-bold text-accent fst-normal\" aria-describedby=\"quote-block-f8846216faf7a70f213e539854bd0e6c\">\r\n                        Paulius Milisauskas                    <\/cite>\r\n                                            <span class=\"mb-0 text-body-color\">Vice-presidente de Opera\u00e7\u00f5es de Clientes<\/span>\r\n                                    <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Mantenha-me informado! Receba \u00f3timos recursos em sua caixa de entrada toda semana.                <\/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-2939\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-2939\" class=\"form-check-label text-body-color\">\r\n                                        I have read and agree to the Terms of Service.                                        <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-4086\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-4086\" class=\"form-check-label text-body-color\">\r\n                                        I have read and agree to the Privacy Policy.                                        <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                            Envie-me a newsletter da Mailjet. Eu concordo expressamente em receber a newsletter e sei que posso cancelar a inscri\u00e7\u00e3o facilmente a qualquer momento.                        <\/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                    Verifique sua caixa de entrada mensalmente para receber sua newsletter da Mailjet!                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>O post de hoje foi escrito por Peter Clark, CEO da userfox (agora AdRoll), uma nova e incr\u00edvel startup que est\u00e1 mudando a forma como as empresas se comunicam com seus clientes por e-mail. Eles acabaram de ser lan\u00e7ados h\u00e1 algumas semanas, como voc\u00ea deve ter visto no Hacker News. No post de hoje, Peter discute o que a userfox faz, como eles arquitetaram seu aplicativo, e um pouco sobre como eles est\u00e3o usando o Mailgun, incluindo o c\u00f3digo para fazer isso! Aproveite.<\/p>\n","protected":false},"author":90,"featured_media":8236,"template":"","meta":{"_acf_changed":true},"class_list":["post-18196","case-studies","type-case-studies","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Como a userfox envia &amp; rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun<\/title>\n<meta name=\"description\" content=\"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais\" \/>\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\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como a userfox envia &amp; rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun\" \/>\n<meta property=\"og:description\" content=\"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-03T15:05:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-AdRoll.png\" \/>\n\t<meta property=\"og:image:width\" content=\"592\" \/>\n\t<meta property=\"og:image:height\" content=\"368\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/\",\"name\":\"Como a userfox envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-AdRoll.png\",\"datePublished\":\"2025-01-28T04:12:02+00:00\",\"dateModified\":\"2026-09-03T15:05:53+00:00\",\"description\":\"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-AdRoll.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/Mailgun-Case-Study-AdRoll.png\",\"width\":592,\"height\":368},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case Studies\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/resources\\\/case-studies\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Como a AdRoll envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun\"}]},{\"@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":"Como a userfox envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun","description":"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais","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\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/","og_locale":"pt_BR","og_type":"article","og_title":"Como a userfox envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun","og_description":"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais","og_url":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-03T15:05:53+00:00","og_image":[{"width":592,"height":368,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-AdRoll.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/","url":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/","name":"Como a userfox envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-AdRoll.png","datePublished":"2025-01-28T04:12:02+00:00","dateModified":"2026-09-03T15:05:53+00:00","description":"A userfox n\u00e3o \u00e9 uma empresa de infraestrutura, \u00e9 uma empresa de e-mail marketing. Portanto, eles contam com o Mailgun para fazer coisas que, de outra forma, teriam que construir, o que levaria muito tempo. Leia mais","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-AdRoll.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/01\/Mailgun-Case-Study-AdRoll.png","width":592,"height":368},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/como-userfox-envia-rastreia-e-mails-em-seu-aplicativo-ruby\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/pt\/inicio\/"},{"@type":"ListItem","position":2,"name":"Case Studies","item":"https:\/\/www.mailgun.com\/pt\/resources\/case-studies\/"},{"@type":"ListItem","position":3,"name":"Como a AdRoll envia & rastreia e-mails em seu aplicativo Ruby usando a API do Mailgun"}]},{"@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\/case-studies\/18196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/case-studies"}],"about":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/types\/case-studies"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/users\/90"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/8236"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=18196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}