{"id":23558,"date":"2026-09-16T06:15:37","date_gmt":"2026-09-16T06:15:37","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/"},"modified":"2026-09-16T06:15:37","modified_gmt":"2026-09-16T06:15:37","slug":"el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/","title":{"rendered":"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hoy nos alegra anunciar que enviar mensajes con Mailgun es a\u00fan m\u00e1s f\u00e1cil para quienes programan en PHP. Durante las \u00faltimas semanas, hemos estado trabajando en varios SDK para la API de Mailgun. El SDK te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. Hoy lanzamos la versi\u00f3n para PHP del SDK. Pronto a\u00f1adiremos m\u00e1s lenguajes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para quienes no se hayan familiarizado con un SDK, vamos a repasar primero qu\u00e9 se necesita para enviar un mensaje con la biblioteca HTTP est\u00e1ndar de CURL para PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Env\u00edo de un mensaje con CURL:<\/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                                Shell                            <\/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-shell\">\r\n                                <code id=\"code_0_content\" class=\"language-shell\">\r\n\r\n                                        function send_simple_message() {  \r\n      $ch = curl_init();\r\n      curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);\r\n      curl_setopt($ch, CURLOPT_USERPWD, &#039;api:key-example&#039;);\r\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, &#039;POST&#039;);\r\n      curl_setopt($ch, CURLOPT_URL, \r\n          &#039;https:\/\/api.mailgun.net\/v2\/samples.mailgun.org\/messages&#039;);\r\n      curl_setopt($ch, CURLOPT_POSTFIELDS, \r\n            array(&#039;from&#039; =&gt; &#039;Dwight Schrute &#039;,\r\n                  &#039;to&#039; =&gt; &#039;Michael Scott &#039;,\r\n                  &#039;subject&#039; =&gt; &#039;The Printer Caught Fire&#039;,\r\n                  &#039;text&#039; =&gt; &#039;We have a problem.&#039;));\r\n      $result = curl_exec($ch);\r\n      curl_close($ch);\r\n      return $result;\r\n    }\r\n    echo send_simple_message();\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\">El ejemplo anterior enviar\u00e1 un mensaje con la API de Mailgun. Sin embargo, contiene mucho c\u00f3digo que, aunque es importante, resulta complicado y, a menos que seas especialista en CURL, podr\u00eda ser bastante confuso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con nuestro nuevo SDK, hemos logrado reducir el c\u00f3digo necesario a tan solo unas l\u00edneas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Env\u00edo de un mensaje con el SDK de PHP de Mailgun:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;); \r\n    $domain = &quot;example.com&quot;; \r\n\r\n    # Now, compose and send your message. \r\n    $mgClient-&gt;sendMessage($domain, \r\n                   array(&#039;from&#039; =&gt; &#039;Dwight Schrute &#039;, \r\n                         &#039;to&#039; =&gt; &#039;Michael Scott &#039;, \r\n                         &#039;subject&#039; =&gt; &#039;The Printer Caught Fire&#039;, \r\n                         &#039;text&#039; =&gt; &#039;We have a problem.&#039;));\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\">Obtenci\u00f3n de registros con el SDK de PHP de Mailgun:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and  \r\n    define your domain.  \r\n    $mgClient = new Mailgun(&#039;key-3ax6xnjp29jd6fds4gc373sgvjxteol0&#039;);\r\n    $domain = &#039;samples.mailgun.org&#039;;\r\n\r\n    # Now, issue a get against the &quot;log&quot; resource URL. \r\n    $result = $mgClient-&gt;get(&quot;$domain\/log&quot;, array(&#039;limit&#039; =&gt; 5, &#039;skip&#039; =&gt; 0));\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\">Todas las acciones de HTTP devuelven un objeto de respuesta con el que puedes interactuar f\u00e1cilmente.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # Obtain the HTTP response code. (e.g. 200)  \r\n    $responseCode = $result-&gt;http_response_code;\r\n\r\n    # Obtain the total count of results provided by the query. \r\n    $responseBody = $result-&gt;http_response_body-&gt;total_count;\r\n\r\n    # Iterate through the results and echo the message IDs.\r\n    $logItems = $result-&gt;http_response_body-&gt;items;\r\n    for($logItems as $logItem){  \r\necho $logItem-&gt;message_id . &quot;n&quot;;\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\">Si quieres empezar a usar el SDK hoy mismo, el c\u00f3digo est\u00e1 disponible como repositorio p\u00fablico en Github (<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\" target=\"_tabs\" rel=\"noopener noreferrer\">mailgun-php<\/a>). Encontrar\u00e1s la forma de hacer todo lo que puedes hacer con la API de Mailgun. Para ver m\u00e1s ejemplos de uso, consulta el archivo README del repositorio. Pero no nos detuvimos ah\u00ed&#8230; Hemos creado algunas utilidades dentro del SDK.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Message Builder<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Crear un array de par\u00e1metros puede resultar dif\u00edcil para algunas implementaciones de c\u00f3digo, por lo que hemos incluido una clase que te permite hacer llamadas a m\u00e9todos para compilar autom\u00e1ticamente un array de par\u00e1metros de mensajes bien formado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Env\u00edo de un mensaje con el SDK de PHP de Mailgun y Message Builder:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define  \r\n    your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;);\r\n    $domain = &quot;example.com&quot;;\r\n\r\n    # Next, instantiate a Message Builder object from the SDK.\r\n    $msgBldr = $mgClient-&gt;MessageBuilder();\r\n\r\n    # Define the from address.\r\n    $msgBldr-&gt;setFromAddress(&quot;dwight@example.com&quot;, \r\n                     array(&quot;first&quot;=&gt;&quot;Dwight&quot;, &quot;last&quot; =&gt; &quot;Schrute&quot;)); \r\n    # Define a to recipient. \r\n    $msgBldr-&gt;addToRecipient(&quot;michael@example.com&quot;, \r\n                     array(&quot;first&quot; =&gt; &quot;Michael&quot;, &quot;last&quot; =&gt; &quot;Scott&quot;)); \r\n    # Define a cc recipient. \r\n    $msgBldr-&gt;addCcRecipient(&quot;pam@example.com&quot;, \r\n                     array(&quot;first&quot; =&gt; &quot;Pam&quot;, &quot;last&quot; =&gt; &quot;Beesly&quot;)); \r\n    # Define the subject. \r\n    $msgBldr-&gt;setSubject(&quot;Help!&quot;); \r\n    # Define the body of the message. \r\n    $msgBldr-&gt;setTextBody(&quot;The printer is on fire.&quot;); \r\n\r\n    # Other Optional Parameters. \r\n    $msgBldr-&gt;addCampaignId(&quot;Sabre-Printer-Fire&quot;); \r\n    $msgBldr-&gt;addCustomHeader(&quot;Customer-Id&quot;, &quot;12345&quot;); \r\n    $msgBldr-&gt;addAttachment(&quot;@\/sabre.jpg&quot;); \r\n    $msgBldr-&gt;setDeliveryTime(&quot;tomorrow 8:00AM&quot;, &quot;PST&quot;); \r\n\r\n    # Finally, send the message. \r\n    $mgClient-&gt;post(&#039;{$domain}\/messages&#039;, $msgBldr-&gt;getMessage());\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\">Para ver una lista de todas las funciones disponibles, echa un vistazo a la\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\/tree\/master\/src\/Message\" target=\"_tabs\" rel=\"noopener noreferrer\">lista en Github<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Batch Message<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s de Message Builder, disponemos de Batch Message. Esta clase te permite compilar un mensaje y enviar un mensaje de plantilla por lotes a un m\u00e1ximo de 1000 destinatarios por env\u00edo. La ventaja de usar esta clase es que hace un seguimiento del recuento de destinatarios y enviar\u00e1 autom\u00e1ticamente el mensaje al punto de conexi\u00f3n cuando a\u00f1adas el destinatario n\u00famero 1000. As\u00ed podr\u00e1s compilar tu mensaje y empezar a iterar a trav\u00e9s de tu base de datos. Olv\u00eddate de enviar el mensaje, el SDK se encargar\u00e1 de enviarlo a la API cuando sea necesario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Env\u00edo de un mensaje con el SDK de PHP de Mailgun y Batch Message:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"Copia al portapapeles\" data-clipboard-success-label=\"\u00a1Copiado!\" data-clipboard-error-label=\"No se ha podido copiar\" data-tooltip=\"Copia al portapapeles\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"Copia al portapapeles\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                        # First, instantiate the SDK with your API credentials and define  \r\n    your domain.  \r\n    $mgClient = new Mailgun(&quot;key-example&quot;);\r\n    $domain = &quot;example.com&quot;;\r\n\r\n    # Next, instantiate a Message Builder object from the SDK, pass in your \r\n    sending domain.  \r\n    $batchMsg = $mgClient-&gt;BatchMessage($domain);\r\n\r\n    # Define the from address.\r\n    $batchMsg-&gt;setFromAddress(&quot;dwight@example.com&quot;, \r\n                      array(&quot;first&quot;=&gt;&quot;Dwight&quot;, &quot;last&quot; =&gt; &quot;Schrute&quot;));\r\n    # Define the subject. \r\n    $batchMsg-&gt;setSubject(&quot;Help!&quot;);\r\n    # Define the body of the message.\r\n    $batchMsg-&gt;setTextBody(&quot;The printer is on fire!&quot;);\r\n\r\n    # Next, let&#039;s add a few recipients to the batch job.\r\n    $batchMsg-&gt;addToRecipient(&quot;pam@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;pam&quot;, &quot;last&quot; =&gt; &quot;Beesly&quot;));\r\n    $batchMsg-&gt;addToRecipient(&quot;jim@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;Jim&quot;, &quot;last&quot; =&gt; &quot;Halpert&quot;));\r\n    $batchMsg-&gt;addToRecipient(&quot;andy@example.com&quot;, \r\n                      array(&quot;first&quot; =&gt; &quot;Andy&quot;, &quot;last&quot; =&gt; &quot;Bernard&quot;));\r\n    ...etc...etc...\r\n    \/\/ After 1,000 recipeints, Batch Message will automatically post your message \r\n    to the messages endpoint. \r\n\r\n    \/\/ Call finalize() to send any remaining recipients still in the buffer.\r\n    $batchMsg-&gt;finalize();\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 puedes comprobar, Batch Message en realidad ampl\u00eda Message Builder. Todas las funciones disponibles en Message Builder lo est\u00e1n en Batch Message. Consulta la\u00a0<a href=\"https:\/\/github.com\/mailgun\/mailgun-php\/blob\/master\/doc\/index.md\" target=\"_tabs\" rel=\"noopener noreferrer\">documentaci\u00f3n completa en Github<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Opt-In Handler<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, hemos compilado un sencillo gestor de opt in doble para ayudarte a generar enlaces de opt in \u00fanicos. El gestor de opt in tambi\u00e9n utiliza nuestro\u00a0<a href=\"https:\/\/www.mailgun.com\/es\/?post_type=products&#038;p=3104\" target=\"_tabs\" rel=\"noopener noreferrer\">servicio gratuito de validaci\u00f3n de direcciones<\/a>\u00a0para validar la exactitud de las direcciones de email.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El flujo habitual para usar esta clase ser\u00eda el siguiente:<br>\n<b>El destinatario solicita suscribirse<\/b>\u00a0-&gt; [Validar direcci\u00f3n del destinatario] -&gt; [Generar enlace de opt in] -&gt; [Enviar enlace de opt in al destinatario]<br>\n<b>El destinatario hace clic en el enlace de opt in<\/b>\u00a0-&gt; [Validar enlace de opt in] -&gt; [Suscribir al usuario] -&gt; [Enviar confirmaci\u00f3n final]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo ideal es usar esta clase para los formularios de suscripci\u00f3n de tu sitio web, as\u00ed que necesitar\u00e1s un servidor web con acceso a internet para gestionar el clic en el enlace de validaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hacednos saber qu\u00e9 pens\u00e1is. \u00bfHay algo m\u00e1s que te gustar\u00eda ver en el SDK? O algo que te encante. \u00a1Nos encantar\u00eda conocer tu opini\u00f3n!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Felices env\u00edos,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El equipo de Mailgun<\/p>\n\n\n\r\n    <aside data-content-type=\"longform\"  class=\"banner-block longform-spacings rounded-lg shadow-lg px-5 py-6 px-md-6 py-md-7 p-lg-7 bg-light\" data-theme=\"dark\" aria-labelledby=\"banner-block-block_a20173e07265e3b1672ec00db01163cb\">\r\n                    <p class=\"text-uppercase section-caption text-body-color\">\r\n                Reg\u00edstrate            <\/p>\r\n                            <p class=\"h4 text-accent fw-bold\" id=\"banner-block-block_a20173e07265e3b1672ec00db01163cb\">\r\n                Empezar es facil\u00edsimo. Y gratis.            <\/p>\r\n                            <div class=\"mb-0 text-body-color\">\r\n                                    <div class=\"content-body mb-0 text-body-color\">Descubre todo lo que puedes lograr con la mejor plataforma de entrega de emails del mundo.<\/div>\r\n                            <\/div>\r\n        \r\n        <div class=\"text-start mt-5\"><a href=\"https:\/\/signup.mailgun.com\/new\/signup\"  class=\"btn btn-secondary\" >Get started<\/a><\/div>\r\n    <\/aside>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013<\/p>\n","protected":false},"author":13,"featured_media":4555,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[22],"class_list":["post-23558","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-product"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/\",\"name\":\"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"datePublished\":\"2026-09-16T06:15:37+00:00\",\"description\":\"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Product.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/es\\\/blog\\\/product\\\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\\\/#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\":\"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun\"}]},{\"@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":"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun","description":"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/","og_locale":"es_ES","og_type":"article","og_title":"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun","og_description":"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013","og_url":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/","url":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/","name":"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","datePublished":"2026-09-16T06:15:37+00:00","description":"El SDK de PHP te permite interactuar f\u00e1cilmente con nuestra API, ya que elimina todo el c\u00f3digo repetitivo necesario para comunicarse con un servicio web HTTP. M\u00e1s informaci\u00f3n \u2013","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Product.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/es\/blog\/product\/el-sdk-de-php-el-primero-de-muchos-sdk-oficiales-de-mailgun\/#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":"El SDK de PHP: el primero de muchos SDK oficiales de Mailgun"}]},{"@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\/23558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog\/23558\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media\/4555"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/media?parent=23558"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/es\/wp-json\/wp\/v2\/blog_category?post=23558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}