{"id":20757,"date":"2019-07-16T00:00:00","date_gmt":"2019-07-16T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/roteamento-de-e-mail-de-entrada-em-php\/"},"modified":"2026-09-15T04:48:24","modified_gmt":"2026-09-15T04:48:24","slug":"roteamento-de-e-mail-de-entrada-em-php","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/","title":{"rendered":"Roteamento de e-mail de entrada em PHP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">O envio de e-mails \u00e9, sem d\u00favida, o recurso mais conhecido por quem usa o Mailgun, mas a plataforma pode fazer muito mais do que apenas enviar e-mails e rastrear an\u00e1lises. Quando as pessoas me perguntam do que mais gosto no Mailgun, quase sempre digo o quanto a API \u00e9 intuitiva e bem documentada. H\u00e1 um recurso espec\u00edfico, no entanto, sobre o qual gosto de falar: o sistema de roteamento e an\u00e1lise de e-mail de entrada, tamb\u00e9m conhecido como \u201cRoutes\u201d no painel de controle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para\u00a0<b>receber<\/b>\u00a0e-mails em seu nome. Voc\u00ea pode configur\u00e1-lo com um dom\u00ednio inteiro ou um subdom\u00ednio de sua escolha. Acredito que usar um subdom\u00ednio seja a melhor op\u00e7\u00e3o, pois s\u00f3 \u00e9 poss\u00edvel configurar um servi\u00e7o para receber seus e-mails de cada vez.<br>\nIsso significa que n\u00e3o \u00e9 poss\u00edvel usar seu cliente de e-mail e o recurso de entrada do Mailgun no mesmo dom\u00ednio. Por esse motivo, tenho uma configura\u00e7\u00e3o como a seguinte:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>orlando@domain.com<\/b>: que uso com um cliente de e-mail normal<\/li>\n\n\n\n<li><b>robots@inbound.domain.com<\/b>: que lida com outros fluxos de trabalho de e-mail por meio da API de entrada do Mailgun.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Assim que um e-mail \u00e9 recebido, o Mailgun pode fazer algumas coisas com ele: envi\u00e1-lo para outro endpoint de sua escolha, redirecion\u00e1-lo para outro e-mail ou armazen\u00e1-lo para que voc\u00ea possa process\u00e1-lo depois.<\/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-5034\"><p class=\"h5 m-0\" id=\"toc-title-5034\">\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=\"#legal-para-que-eu-o-uso\">Legal! Para que eu o uso?<\/a><a class=\"scrollme link-body-color\" href=\"#processar-todos-os-anexos\">Processar todos os anexos!<\/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=\"#criacao-edicao-e-exclusao-de-rotas-em-php\">Cria\u00e7\u00e3o, edi\u00e7\u00e3o e exclus\u00e3o de rotas em PHP<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Legal! Para que eu o uso?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Processar todos os anexos!<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">E se voc\u00ea pudesse usar e-mails para criar um aplicativo que recebesse anexos e os enviasse automaticamente para sua conta de armazenamento online (como Dropbox, Google Drive ou semelhante)?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E se esse e-mail pudesse entender quem est\u00e1 enviando os anexos, o que eles cont\u00eam e classific\u00e1-los adequadamente?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Boas not\u00edcias: com o roteamento de e-mail do Mailgun, voc\u00ea pode!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para fazer isso, basta especificar um filtro em um dom\u00ednio ou subdom\u00ednio.\u00a0<a href=\"https:\/\/app.mailgun.com\/sessions\/new\" target=\"_tabs\" rel=\"noopener noreferrer\">Para come\u00e7ar, acesse as rotas<\/a>\u00a0no painel de controle e lembre-se de que ser\u00e1 necess\u00e1rio alterar as configura\u00e7\u00f5es de DNS do seu dom\u00ednio para que os registros MX apontem para o Mailgun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma rota \u00e9 composta por um\u00a0<b>filtro<\/b>, uma\u00a0<b>a\u00e7\u00e3o<\/b>, uma\u00a0<b>descri\u00e7\u00e3o<\/b>\u00a0para facilitar a compreens\u00e3o humana do que ela faz e uma\u00a0<b>prioridade<\/b>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um\u00a0<b>filtro<\/b>\u00a0pode ser de um dos seguintes tipos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>match_recipient(pattern)<\/code>: onde o padr\u00e3o \u00e9 uma express\u00e3o regular de um endere\u00e7o de e-mail<\/li>\n\n\n\n<li><code>match_header(header, pattern)<\/code>: onde o cabe\u00e7alho \u00e9 um (cabe\u00e7alho MIME) e o padr\u00e3o \u00e9 uma express\u00e3o regular<\/li>\n\n\n\n<li><code>catch_all()<\/code>: geralmente tem a prioridade mais baixa, pois encaminha qualquer e-mail de entrada<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode especificar o filtro acima para realizar a\u00e7\u00f5es de forma din\u00e2mica; se o filtro corresponder a um endere\u00e7o especificado, uma a\u00e7\u00e3o resultante ocorrer\u00e1. H\u00e1 uma lista de\u00a0<b>a\u00e7\u00f5es<\/b>\u00a0abaixo. Lembre-se de que voc\u00ea pode ter mais de uma a\u00e7\u00e3o ao mesmo tempo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Forward()<\/code>: encaminha o e-mail para outro endere\u00e7o de e-mail ou URL<\/li>\n\n\n\n<li><code>Store()<\/code>: salva o e-mail correspondente no servidor do Mailgun por at\u00e9 tr\u00eas dias para uso posterior ou atrasado.<\/li>\n\n\n\n<li><code>Stop()<\/code>: simplesmente interrompe a cadeia de a\u00e7\u00f5es. Isso \u00e9 necess\u00e1rio para evitar que a mensagem continue sendo processada por outras a\u00e7\u00f5es. (falarei sobre isso com mais detalhes depois)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Priorize<\/b>\u00a0as rotas atribuindo-lhes prioridades conforme necess\u00e1rio.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00famero baixo = alta prioridade<\/li>\n\n\n\n<li>N\u00famero alto = baixa prioridade<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Rotas com a mesma prioridade recebem prefer\u00eancia com base na data de cria\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois de configurar o DNS do seu dom\u00ednio ou subdom\u00ednio para encaminhar\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/faqs.html\" target=\"_tabs\" rel=\"noopener noreferrer\">e-mails para o Mailgun, conforme explicado na documenta\u00e7\u00e3o,<\/a>\u00a0com\u00a0<a href=\"https:\/\/app.mailgun.com\/sessions\/new\" target=\"_tabs\" rel=\"noopener noreferrer\">as configura\u00e7\u00f5es indicadas na p\u00e1gina do seu dom\u00ednio,<\/a>\u00a0voc\u00ea pode come\u00e7ar a parte divertida!\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cria\u00e7\u00e3o, edi\u00e7\u00e3o e exclus\u00e3o de rotas em PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ap\u00f3s instalar a biblioteca PHP, podemos criar um novo arquivo chamado\u00a0<code>createRoutes.php<\/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=\"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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    post(&quot;routes&quot;, array(\r\n    &#039;priority&#039;    =&gt; $CONST_PRIORITY,\r\n    &#039;expression&#039;  =&gt; &#039;match_recipient(&quot;&#039;. $CONST_RECIPIENTEXP.&#039;&quot;)&#039;,\r\n    &#039;action&#039;      =&gt; array(&#039;forward(&quot;&#039;.$CONST_FORWARDTO.&#039;&quot;)&#039;, &#039;stop()&#039;),\r\n    &#039;description&#039; =&gt; $CONST_DESCRIPTION\r\n));\r\n?&gt;\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\">Que tal listar todas as rotas para verificar de forma program\u00e1tica quais voc\u00ea j\u00e1 criou e, eventualmente, edit\u00e1-las?<\/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=\"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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    get(\r\n&quot;routes&quot;, array(&#039;skip&#039; =&gt; 0, &#039;limit&#039; =&gt; 10)\r\n);\r\n#Let&#039;s print some output, ofcourse you can iterate the object $result to find more information regarding the routes!\r\nprint &quot;&lt;strong&gt;The whole object:&lt;\/strong&gt;&quot;; \r\nprint &quot;&lt;br&gt;&quot;;\r\nprint_r($result);\r\nprint &quot;&lt;br&gt;&quot;;\r\nprint &quot;&lt;strong&gt;The expression assigned to the first route:&lt;\/strong&gt;&quot;; \r\nprint &quot;&lt;br&gt;&quot;;\r\nprint $result-&gt;http_response_body-&gt;items[0]-&gt;expression;\r\nprint &quot;&lt;br&gt;&quot;;\r\n\r\n?&gt;\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\">Neste momento, criamos uma rota com sucesso.<br>\nToda vez que o Mailgun receber um e-mail de algu\u00e9m em\u00a0<code>*@sampleprovider.com<\/code>, ele pegar\u00e1 a mensagem e enviar\u00e1 um webhook com seu conte\u00fado para\u00a0<code>http:\/\/samplewebsite.com\/webhook<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora, do meu lado (supondo que\u00a0<code>http:\/\/samplewebsite.com\/webhook<\/code>\u00a0seja meu servidor), quero capturar o conte\u00fado do webhook que \u00e9 enviado quando um filtro intercepta um e-mail de entrada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Mailgun envia diversos tipos de cabe\u00e7alhos; a maioria est\u00e1 listada abaixo:<\/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=\"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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    Content-Type    \r\nDate    \r\nFrom    \r\nIn-Reply-To    \r\nMessage-Id    \r\nMime-Version    \r\nReceived    \r\nReferences    \r\nSubject    \r\nTo    \r\nX-Envelope-From    \r\nX-Mailgun-Incoming    \r\nX-Received    \r\nbody-html    \r\nbody-plain    \r\ndomain    \r\nfrom    \r\nmessage-headers    \r\nmessage-url    \r\nrecipient    \r\nsender    \r\nsignature    \r\nstripped-html    \r\nstripped-signature    \r\nstripped-text    \r\nsubject    \r\ntimestamp    \r\ntoken \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\">Vamos supor que queremos gravar em um arquivo o corpo da mensagem sem qualquer HTML, quebras de linha e retornos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo a seguir ser\u00e1 executado pelo PHP quando o webhook enviado pelo Mailgun for recebido e gravar\u00e1 o conte\u00fado do corpo da solicita\u00e7\u00e3o (neste caso, escolhi\u00a0<code>stripped-text<\/code>, mas poderia ser qualquer um dos anteriores) em um arquivo chamado\u00a0<code>output.txt<\/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=\"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-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\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\">Como voc\u00ea pode ver, as op\u00e7\u00f5es a partir daqui s\u00e3o infinitas!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea tiver interesse em saber mais sobre as funcionalidades de roteamento de e-mail de entrada, acesse a\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/api-routes.html\" target=\"_tabs\" rel=\"noopener noreferrer\">p\u00e1gina de documenta\u00e7\u00e3o<\/a>\u00a0ou fique \u00e0 vontade para fazer perguntas ou comentar aqui ou no Twitter.<\/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_48ca86aceaf6b35b56262699deb305bc\">\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_48ca86aceaf6b35b56262699deb305bc\">\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>O envio de e-mails \u00e9, sem d\u00favida, o recurso mais conhecido por quem usa o Mailgun, mas a plataforma pode fazer muito mais do que apenas enviar e-mails e rastrear an\u00e1lises.<\/p>\n","protected":false},"author":34,"featured_media":4074,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[20],"class_list":["post-20757","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-email"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \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\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T04:48:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.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=\"4 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\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/\",\"name\":\"Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"datePublished\":\"2019-07-16T00:00:00+00:00\",\"dateModified\":\"2026-09-15T04:48:24+00:00\",\"description\":\"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Email.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/email\\\/roteamento-de-e-mail-de-entrada-em-php\\\/#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\":\"Roteamento de e-mail de entrada em PHP\"}]},{\"@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":"Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun","description":"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \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\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/","og_locale":"pt_BR","og_type":"article","og_title":"Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun","og_description":"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \u2013","og_url":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-15T04:48:24+00:00","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/","url":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/","name":"Roteamento de e-mail de entrada em PHP - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","datePublished":"2019-07-16T00:00:00+00:00","dateModified":"2026-09-15T04:48:24+00:00","description":"O roteamento de e-mail de entrada significa que voc\u00ea pode configurar o Mailgun para receber e-mails em seu nome, mas como configur\u00e1-lo em PHP? Leia mais \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Email.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/pt\/blog\/email\/roteamento-de-e-mail-de-entrada-em-php\/#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":"Roteamento de e-mail de entrada em PHP"}]},{"@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\/20757","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\/34"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/20757\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/4074"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=20757"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog_category?post=20757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}