{"id":20571,"date":"2019-07-16T00:00:00","date_gmt":"2019-07-16T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/enrutamiento-de-emails-entrantes-en-php\/"},"modified":"2026-09-15T05:30:40","modified_gmt":"2026-09-15T05:30:40","slug":"enrutamiento-de-emails-entrantes-en-php","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/","title":{"rendered":"Enrutamiento de emails entrantes en PHP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sending email is certainly the most known feature to Mailgun\u2019s users but Mailgun can do much more than just sending emails and tracking analytics. When people ask me what I love most about Mailgun, I almost always say how intuitive and well documented the API is. There is this one particular feature, however, I like to tell people about and that\u2019s the inbound email routing and parsing system, also known as \u201cRoutes\u201d in the control panel.<\/p>\n\n<p class=\"wp-block-paragraph\">Inbound email routing means that you can set up Mailgun to\u00a0<b>receive<\/b>\u00a0emails on your behalf. You can set it up with a whole domain or a sub-domain of your choice. I think using a subdomain is the way to go because you can only set up one service to receive your emails at one time.<br \/>\nThis means that you cannot use your email client and Mailgun\u2019s inbound feature on the same domain. For this reason, I have a set up like the following:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><b>orlando@domain.com<\/b>: That I use with a normal email client<\/li>\n\n\n\n<li><b>robots@inbound.domain.com<\/b>: That handles other emails workflows through the Mailgun inbound API.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Once an email is received, Mailgun can do a few things with it \u2013 send it to another endpoint of your choice, redirect it to another email, store it so you can process it later.<\/p>\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-3256\"><p class=\"h5 m-0\" id=\"toc-title-3256\">\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=\"#cool-what-do-i-use-it-for\">Cool! What do I use it for?<\/a><a class=\"scrollme link-body-color\" href=\"#process-all-attachments\">Process all attachments!<\/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=\"#creating-editing-deleting-routes-in-php\">Creating, editing, deleting routes in PHP<\/a><\/div><\/div><\/nav>\n<h2 class=\"wp-block-heading\">Cool! What do I use it for?<\/h2>\n\n<h3 class=\"wp-block-heading\">Process all attachments!<\/h3>\n\n<p class=\"wp-block-paragraph\">What if you could use emails to build an app that received attachments and automatically sent them to your online storage account (like Dropbox, google drive or similar)?<\/p>\n\n<p class=\"wp-block-paragraph\">What if this email could understand who is sending you the attachments, what they contained and sort them accordingly?<\/p>\n\n<p class=\"wp-block-paragraph\">Well, good news, with Mailgun\u2019s email routing you can!<\/p>\n\n<p class=\"wp-block-paragraph\">You do this by specifying a filter on a domain or sub-domain.\u00a0<a href=\"https:\/\/app.mailgun.com\/sessions\/new\" target=\"_tabs\" rel=\"noopener noreferrer\">To get started visit the routes<\/a>\u00a0in the control panel and remember you\u2019re going to need to change your domain\u2019s DNS settings accordingly so that your MX records point to Mailgun.<\/p>\n\n<p class=\"wp-block-paragraph\">A route is composed of a\u00a0<b>filter<\/b>, an\u00a0<b>action<\/b>, a\u00a0<b>description<\/b>\u00a0to make it easier for humans to understand what the route does and a\u00a0<b>priority<\/b>.<\/p>\n\n<p class=\"wp-block-paragraph\">A\u00a0<b>filter<\/b>\u00a0is one of the following types:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>match_recipient(pattern)<\/code>: Where patterns is a regular expression of an email address<\/li>\n\n\n\n<li><code>match_header(header, pattern)<\/code>: Where the header is a (MIME header) and the pattern a regular expression<\/li>\n\n\n\n<li><code>catch_all()<\/code>: Usually lowest priority as it will forward on any incoming email<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">You can specify the above filter to have actions dynamically if the filter matches an address specified a resulting action will occur. A list of\u00a0<b>actions<\/b>\u00a0can be found below, keep in mind you can have more than one action at any given time:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>Forward()<\/code>: Forwards the email to another email address or URL<\/li>\n\n\n\n<li><code>Store()<\/code>: Saves the matched email on Mailgun\u2019s server for up to 3 days for later or delayed usage.<\/li>\n\n\n\n<li><code>Stop()<\/code>: Simply halts the chain of actions. It is required to prevent the message from being processed further by other actions. (Will get to this later in more details)<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><b>Prioritize<\/b>\u00a0routes by giving them priority accordingly.<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Low number = High Priority<\/li>\n\n\n\n<li>High number = Low Priority<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Routes with the same priority are given priority based on creation date.<\/p>\n\n<p class=\"wp-block-paragraph\">After setting up your domain or sub-domains DNS to forward\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/faqs.html\" target=\"_tabs\" rel=\"noopener noreferrer\">emails to Mailgun as explained in the documentation<\/a>\u00a0with\u00a0<a href=\"https:\/\/app.mailgun.com\/sessions\/new\" target=\"_tabs\" rel=\"noopener noreferrer\">the settings given on your domain page<\/a>\u00a0you can begin the fun part!\n<\/p>\n\n<h2 class=\"wp-block-heading\">Creating, editing, deleting routes in PHP<\/h2>\n\n<p class=\"wp-block-paragraph\">After installing the PHP library we can create a new file called\u00a0<code>createRoutes.php<\/code><\/p>\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    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<p class=\"wp-block-paragraph\">How about listing all the routes to investigate which ones you\u2019ve have already created, programmatically, and eventually editing them.<\/p>\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    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<p class=\"wp-block-paragraph\">At this point, we\u2019ve successfully created a route.<br \/>\nEvery time Mailgun receives an email from someone\u00a0<code>*@sampleprovider.com<\/code>\u00a0\u2013 Mailgun will take its message and send a web-hook with its content to\u00a0<code>http:\/\/samplewebsite.com\/webhook<\/code>.<\/p>\n\n<p class=\"wp-block-paragraph\">Now on my side (assuming\u00a0<code>http:\/\/samplewebsite.com\/webhook<\/code>\u00a0is my server) I want to capture the content of the webhook that has been sent when a filter catches an incoming email.<\/p>\n\n<p class=\"wp-block-paragraph\">Mailgun sends all kind of headers, most are listed below:<\/p>\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    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<p class=\"wp-block-paragraph\">Let\u2019s assume we want to write to a file the body of the message stripped from all HTML, newlines, and returns.<\/p>\n\n<p class=\"wp-block-paragraph\">The following code will be executed by PHP when the webhook sent by Mailgun is received and will write the content of the request body (in this case I picked\u00a0<code>stripped-text<\/code>\u00a0but it could have been any of the above) to a file called\u00a0<code>output.txt<\/code><\/p>\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    \r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n<p class=\"wp-block-paragraph\">As you can see, the options from here are endless!<\/p>\n\n<p class=\"wp-block-paragraph\">If you are interested in learning more about the inbound email routing functionalities, head to the\u00a0<a href=\"https:\/\/documentation.mailgun.com\/en\/latest\/api-routes.html\" target=\"_tabs\" rel=\"noopener noreferrer\">documentation page<\/a>\u00a0or feel free to ask questions or comment here or on Twitter.<\/p>\n\n<p class=\"wp-block-paragraph\">Happy Sending!<\/p>\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_5c580e1ec16334d03de8314d91fa4300\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Sign Up            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_5c580e1ec16334d03de8314d91fa4300\">\r\n                It&#8217;s easy to get started. And it&#8217;s free.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">See what you can accomplish with the world\u2019s best email delivery platform.<\/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>El env\u00edo de emails es, sin duda, la funci\u00f3n m\u00e1s conocida por la base de usuarios de Mailgun, pero la plataforma puede hacer mucho m\u00e1s que enviar emails y realizar el seguimiento de las anal\u00edticas.<\/p>\n","protected":false},"author":34,"featured_media":4074,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[20],"class_list":["post-20571","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>Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T05:30:40+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\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/\",\"name\":\"Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-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-15T05:30:40+00:00\",\"description\":\"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-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\\\/es\\\/blog\\\/email\\\/enrutamiento-de-emails-entrantes-en-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enrutamiento de emails entrantes en PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Potentes API de email transaccional que te permiten enviar, recibir y hacer seguimiento de emails, creadas pensando en los desarrolladores. \u00a1Descubre m\u00e1s!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun","description":"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/","og_locale":"es_ES","og_type":"article","og_title":"Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun","og_description":"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013","og_url":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-15T05:30:40+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\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/","url":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/","name":"Enrutamiento de emails entrantes en PHP - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-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-15T05:30:40+00:00","description":"El enrutamiento de emails entrantes significa que puedes configurar Mailgun para recibir emails en tu nombre, pero \u00bfc\u00f3mo se configura en PHP? M\u00e1s informaci\u00f3n \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.mailgun.com\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-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\/es\/blog\/email\/enrutamiento-de-emails-entrantes-en-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/es\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/es\/blog\/"},{"@type":"ListItem","position":3,"name":"Enrutamiento de emails entrantes en PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/es\/#website","url":"https:\/\/www.mailgun.com\/es\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Potentes API de email transaccional que te permiten enviar, recibir y hacer seguimiento de emails, creadas pensando en los desarrolladores. \u00a1Descubre m\u00e1s!","publisher":{"@id":"https:\/\/www.mailgun.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/es\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.mailgun.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/20571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/users\/34"}],"version-history":[{"count":2,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/20571\/revisions"}],"predecessor-version":[{"id":20601,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/20571\/revisions\/20601"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media\/4074"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media?parent=20571"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog_category?post=20571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}