{"id":28148,"date":"2021-05-21T15:04:00","date_gmt":"2021-05-21T12:04:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28148"},"modified":"2021-10-17T16:53:31","modified_gmt":"2021-10-17T13:53:31","slug":"enviar-correo-electronico-usando-el-servidor-smtp-de-gmail-desde-php-script","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/enviar-correo-electronico-usando-el-servidor-smtp-de-gmail-desde-php-script\/","title":{"rendered":"Enviar correo electr\u00f3nico usando el servidor SMTP de Gmail desde PHP Script"},"content":{"rendered":"<p>El correo electr\u00f3nico juega un papel importante en el sitio web. Cada sitio web normalmente necesita enviar correos electr\u00f3nicos a los usuarios. Estos correos electr\u00f3nicos se pueden enviar desde la p\u00e1gina de contacto, el bolet\u00edn informativo, el formulario de registro, etc.<\/p>\n<p>PHP proporciona una <code>mail()<\/code>funci\u00f3n que se utiliza para enviar un correo electr\u00f3nico. Pero existen limitaciones al usar el <code>mail()<\/code>m\u00e9todo. No puede enviar correo electr\u00f3nico desde un servidor de desarrollo local. Otro inconveniente es que existe una alta posibilidad de que su correo electr\u00f3nico termine en Spam.<\/p>\n<p>En la mayor\u00eda de los casos, el <code>mail()<\/code>m\u00e9todo incluso no env\u00eda un correo electr\u00f3nico. Esto puede deberse a una configuraci\u00f3n de servidor incorrecta o algo m\u00e1s.<\/p>\n<p>Para salir de estos problemas o limitaciones, se puede utilizar el servidor SMTP para enviar los correos electr\u00f3nicos.<\/p>\n<p>En este art\u00edculo, estudiamos c\u00f3mo usar PHPMailer y el servidor SMTP de Gmail para enviar correos electr\u00f3nicos.<\/p>\n<h3>Instalaci\u00f3n<\/h3>\n<p>Primero debe instalar la biblioteca <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMailer<\/a> en su proyecto. La forma recomendada de instalar una biblioteca es a trav\u00e9s de <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a>.<\/p>\n<p>Abra el s\u00edmbolo del sistema en el directorio ra\u00edz de su proyecto y ejecute el siguiente comando.<\/p>\n<pre><code>composer require phpmailer\/phpmailer<\/code><\/pre>\n<p>Como usamos Gmail SMTP, debe cambiar algunas configuraciones en su cuenta de Google. Inicie sesi\u00f3n en su cuenta de Google y haga clic en Mi cuenta. Una vez que est\u00e9 en la p\u00e1gina Mi cuenta, haga clic en Seguridad. Despl\u00e1cese hacia abajo y encontrar\u00e1 la configuraci\u00f3n de &#8216;Acceso a aplicaciones menos seguras&#8217;. Ponlo en ON.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20527-6082002147f32.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20527-6082002147f32.png\" alt=\"Enviar correo electr\u00f3nico usando el servidor SMTP de Gmail desde PHP Script\" ><\/a><\/p>\n<p>Despu\u00e9s de esto, necesitamos escribir un c\u00f3digo que env\u00ede un correo electr\u00f3nico usando la biblioteca PHPMailer y el servidor SMTP de Gmail.<\/p>\n<h3>Script PHP para enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail<\/h3>\n<p>Abra su archivo PHP donde necesita escribir un c\u00f3digo para correos electr\u00f3nicos. Por ejemplo, supongo que tiene un <code>sendemail.php<\/code>archivo en el directorio ra\u00edz.<\/p>\n<p><strong>sendemail.php<\/strong><\/p>\n<pre><code>&lt;?php\n\/\/Import PHPMailer classes into the global namespace\nuse PHPMailerPHPMailerPHPMailer;\nuse PHPMailerPHPMailerException;\n\u00a0\nrequire_once 'vendor\/autoload.php';\n\u00a0\n$mail = new PHPMailer(true);\n?&gt;<\/code><\/pre>\n<p>En el c\u00f3digo anterior, he incluido el entorno de la biblioteca PHPMailer en el archivo PHP.<\/p>\n<p>A continuaci\u00f3n, para enviar correos electr\u00f3nicos usando PHPMailer, el usuario debe pasar la direcci\u00f3n del servidor SMTP de Gmail, el puerto SMTP para Gmail y la autenticaci\u00f3n SMTP (que no es m\u00e1s que su nombre de usuario y contrase\u00f1a de una cuenta de Google).<\/p>\n<pre><code>$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.googlemail.com';\u00a0 \/\/gmail SMTP server\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'GMAIL_USERNAME';\u00a0\u00a0 \/\/username\n$mail-&gt;Password = 'GMAIL_PASSWORD';\u00a0\u00a0 \/\/password\n$mail-&gt;SMTPSecure = 'ssl';\n$mail-&gt;Port = 465;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/SMTP port<\/code><\/pre>\n<p>\u00a1Eso es! Ha terminado con la configuraci\u00f3n. Ahora, puede continuar con el env\u00edo de un correo electr\u00f3nico a un usuario.<\/p>\n<pre><code>$mail-&gt;setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');\n$mail-&gt;addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');\n\u00a0\n$mail-&gt;isHTML(true);\n\u00a0\n$mail-&gt;Subject = 'Email subject';\n$mail-&gt;Body\u00a0\u00a0\u00a0 = '&lt;b&gt;Email Body&lt;\/b&gt;';\n\u00a0\n$mail-&gt;send();\necho 'Message has been sent';<\/code><\/pre>\n<p>Reemplace los marcadores de posici\u00f3n con valores reales. Ejecute este archivo en un navegador y su correo electr\u00f3nico debe enviarse a la direcci\u00f3n de correo electr\u00f3nico del destinatario.<\/p>\n<h3>Env\u00edo de archivos adjuntos en un correo electr\u00f3nico<\/h3>\n<p>Usando la biblioteca PHPMailer, uno puede enviar archivos adjuntos \u00fanicos o m\u00faltiples en un correo electr\u00f3nico. Todo lo que necesita hacer es pasar una ruta de directorio de sus archivos adjuntos al m\u00e9todo de la <code>addAttachment<\/code>siguiente manera.<\/p>\n<pre><code>$mail-&gt;addAttachment(__DIR__. '\/attachment1.png');\n$mail-&gt;addAttachment(__DIR__. '\/attachment2.jpg');<\/code><\/pre>\n<p>Nuestro c\u00f3digo final es el siguiente.<\/p>\n<p><strong>sendemail.php<\/strong><\/p>\n<pre><code>&lt;?php\nuse PHPMailerPHPMailerPHPMailer;\nuse PHPMailerPHPMailerException;\n\u00a0\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"constants.php\";\n\u00a0\n$mail = new PHPMailer(true);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;isSMTP();\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Host = 'smtp.googlemail.com';\u00a0 \/\/gmail SMTP server\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;SMTPAuth = true;\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Username = GMAIL_USERNAME;\u00a0\u00a0 \/\/username\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Password = GMAIL_PASSWORD;\u00a0\u00a0 \/\/password\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;SMTPSecure = 'ssl';\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Port = 465;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/smtp port\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAttachment(__DIR__. '\/attachment1.png');\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAttachment(__DIR__. '\/attachment2.png');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;isHTML(true);\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Subject = 'Email Subject';\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Body\u00a0\u00a0\u00a0 = '&lt;b&gt;Email Body&lt;\/b&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;send();\n\u00a0\u00a0\u00a0\u00a0echo 'Message has been sent';\n} catch (Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo 'Message could not be sent. Mailer Error: '. $mail-&gt;ErrorInfo;\n}\n?&gt;<\/code><\/pre>\n<p>Espero que comprenda c\u00f3mo enviar correo electr\u00f3nico utilizando el servidor SMTP de Gmail desde un script PHP. Comparta sus pensamientos y sugerencias en un comentario a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/envio-de-correo-electronico-a-traves-del-servidor-smtp-de-gmail-en-laravel\/\" title=\"Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel\">Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/enviar-correo-electronico-mediante-el-servidor-smtp-de-gmail-y-la-biblioteca-swift-mailer\/\" title=\"Enviar correo electr\u00f3nico utilizando el servidor SMTP de Gmail y la biblioteca de correo Swift\">Enviar correo electr\u00f3nico utilizando el servidor SMTP de Gmail y la biblioteca de correo Swift<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/enviar-correo-electronico-usando-mailjet-alternativa-al-servidor-smtp-de-gmail-en-php\/\" title=\"Enviar correo electr\u00f3nico usando Mailjet en PHP\">Enviar correo electr\u00f3nico usando Mailjet en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este tutorial, explicamos c\u00f3mo enviar correo electr\u00f3nico utilizando el servidor SMTP de Gmail desde PHP Script. Con SMTP, incluso puede enviar correos electr\u00f3nicos desde el servidor local.<\/p>\n","protected":false},"author":1,"featured_media":21631,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-28148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28148"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21631"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}