{"id":28498,"date":"2021-05-27T13:25:00","date_gmt":"2021-05-27T10:25:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28498"},"modified":"2021-10-17T16:42:34","modified_gmt":"2021-10-17T13:42:34","slug":"enviar-correo-electronico-mediante-el-servidor-smtp-de-gmail-y-la-biblioteca-swift-mailer","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/enviar-correo-electronico-mediante-el-servidor-smtp-de-gmail-y-la-biblioteca-swift-mailer\/","title":{"rendered":"Enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail y la biblioteca Swift Mailer"},"content":{"rendered":"<p>\u00bfQuiere enviar sus correos electr\u00f3nicos mediante el servidor SMTP de Gmail? Cuando utiliza el servidor SMTP para sus correos electr\u00f3nicos, existe una alta probabilidad de que sus correos electr\u00f3nicos vayan a la bandeja de entrada del usuario y no al correo no deseado. El servidor SMTP evita que sus correos electr\u00f3nicos se marquen como spam. En este art\u00edculo, estudiamos c\u00f3mo enviar correo electr\u00f3nico utilizando el servidor SMTP de Gmail y la biblioteca Swift Mailer.<\/p>\n<p>Como propietario de un sitio, siempre desea que su correo electr\u00f3nico vaya directamente a la bandeja de entrada del usuario y no al correo no deseado o basura. Aumenta la probabilidad de que el usuario lea su correo electr\u00f3nico y realice la acci\u00f3n que desea.<\/p>\n<h3>\u00bfPor qu\u00e9 es necesario utilizar el servidor SMTP?<\/h3>\n<p>Para un sitio web, es normal tener un formulario que env\u00ede un correo electr\u00f3nico a los usuarios o administradores. Puede ser su bolet\u00edn, formulario de contacto o proceso de registro donde necesita enviar un correo electr\u00f3nico como reconocimiento.<\/p>\n<p>PHP proporciona una <code>mail()<\/code>funci\u00f3n para enviar correos electr\u00f3nicos. Sin embargo, si su servidor no configura los ajustes de correo correctamente, este m\u00e9todo no funciona. Otra posibilidad es que cuando env\u00eda correos electr\u00f3nicos usando el <code>mail()<\/code>m\u00e9todo, puede terminar en spam.<\/p>\n<p>Para superar estas 2 situaciones, debe utilizar el servidor SMTP para enviar sus correos electr\u00f3nicos.<\/p>\n<p>Al usar la biblioteca <a href=\"https:\/\/swiftmailer.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Swift Mailer<\/a>, el usuario puede usar cualquier servidor SMTP como Gmail, Sendgrid, Mandrill o su propio servidor SMTP provisto de alojamiento para enviar los correos electr\u00f3nicos. En este tutorial, elijo un servidor SMTP de Gmail.<\/p>\n<p>Habiendo dicho eso, echemos un vistazo a c\u00f3mo usar la biblioteca Swift Mailer para enviar correos electr\u00f3nicos.<\/p>\n<h3>Instalaci\u00f3n de Swift Mailer<\/h3>\n<p>Para utilizar la biblioteca Swift Mailer, debe tener PHP versi\u00f3n 7.2 o superior en su servidor. Si est\u00e1 utilizando la versi\u00f3n anterior, actual\u00edcela a la \u00faltima versi\u00f3n de PHP. La mayor\u00eda de los proveedores de alojamiento como <a href=\"https:\/\/www.bluehost.com\/track\/artisansweb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bluehost<\/a> actualizan la versi\u00f3n de PHP a pedido. No necesita invertir su tiempo para actualizar la versi\u00f3n.<\/p>\n<p>Continuando, recomiendo usar <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> para instalar la biblioteca Swift Mailer. Abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el comando:<\/p>\n<pre><code>composer require swiftmailer\/swiftmailer<\/code><\/pre>\n<p>Como vamos a utilizar Gmail SMTP, debe cambiar algunas configuraciones en su cuenta de Google. Inicie sesi\u00f3n en su cuenta de Google y haga clic en Cuenta. Una vez que est\u00e9 en la p\u00e1gina de la cuenta de Google, 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-20453-6081f3f519b19.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-20453-6081f3f519b19.png\" alt=\"Enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail y la biblioteca Swift Mailer\" ><\/a><\/p>\n<h3>Enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail y la biblioteca Swift Mailer<\/h3>\n<p>En esta etapa, est\u00e1 listo con la biblioteca Swift Mailer y tambi\u00e9n cambi\u00f3 la configuraci\u00f3n de la cuenta de Gmail. Ahora, est\u00e1s listo para seguir adelante.<\/p>\n<p>Supongamos que tiene un archivo <code>sendmail.php<\/code>en el que necesita escribir un c\u00f3digo que env\u00eda correos electr\u00f3nicos. Escriba el siguiente c\u00f3digo en su archivo PHP.<\/p>\n<p><strong>sendmail.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Transport\n\u00a0\u00a0\u00a0\u00a0$transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setUsername('YOUR_GMAIL_USERNAME')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('YOUR_GMAIL_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Mailer using your created Transport\n\u00a0\u00a0\u00a0\u00a0$mailer = new Swift_Mailer($transport);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create a message\n\u00a0\u00a0\u00a0\u00a0$body = 'Hello, &lt;p&gt;Email sent through &lt;span style=\"color:red;\"&gt;Swift Mailer&lt;\/span&gt;.&lt;\/p&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$message = (new Swift_Message('Email Through Swift Mailer'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setFrom(['FROM_EMAIL_ADDRESS' =&gt; 'FROM_NAME'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setTo(['RECEPIENT_1_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setCc(['RECEPIENT_2_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBody($body)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setContentType('text\/html')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Send the message\n\u00a0\u00a0\u00a0\u00a0$mailer-&gt;send($message);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo 'Email has been sent.';\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>En el c\u00f3digo anterior, he pasado los siguientes valores para la configuraci\u00f3n del servidor SMTP de Gmail.<\/p>\n<ul>\n<li>Direcci\u00f3n del servidor SMTP de Google: smtp.googlemail.com<\/li>\n<li>Puerto SMTP de Gmail: 465<\/li>\n<li>Cifrado: ssl<\/li>\n<\/ul>\n<p>Adem\u00e1s de estos valores, debe cambiar otros marcadores de posici\u00f3n como YOUR_GMAIL_USERNAME, YOUR_GMAIL_PASSWORD, etc.<\/p>\n<p>Despu\u00e9s de reemplazar todos los valores, ejecute este archivo en un navegador. Debe recibir el correo electr\u00f3nico en la bandeja de entrada, no en el correo no deseado.<\/p>\n<h3>Env\u00ede archivos adjuntos \u00fanicos o m\u00faltiples en un correo electr\u00f3nico<\/h3>\n<p>A veces es posible que deba enviar archivos adjuntos en un correo electr\u00f3nico. Con Swift Mailer puede enviar uno o varios archivos adjuntos de la siguiente manera:<\/p>\n<pre><code>$message-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample.png')); \/\/absolute path for your attachment\n$message-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample-ebook.pdf'));<\/code><\/pre>\n<p>Todo lo que necesita hacer es usar el <code>attach<\/code>m\u00e9todo y pasar la ruta absoluta del archivo que necesita enviar como adjunto. Aqu\u00ed supongo que debe enviar &#8216;sample.png&#8217; y &#8216;sample-ebook.pdf&#8217; como archivos adjuntos.<\/p>\n<p>Entonces nuestro c\u00f3digo final es el siguiente.<\/p>\n<p><strong>sendmail.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Transport\n\u00a0\u00a0\u00a0\u00a0$transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setUsername('YOUR_GMAIL_USERNAME')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('YOUR_GMAIL_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Mailer using your created Transport\n\u00a0\u00a0\u00a0\u00a0$mailer = new Swift_Mailer($transport);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create a message\n\u00a0\u00a0\u00a0\u00a0$body = 'Hello, &lt;p&gt;Email sent through &lt;span style=\"color:red;\"&gt;Swift Mailer&lt;\/span&gt;.&lt;\/p&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$message = (new Swift_Message('Email Through Swift Mailer'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setFrom(['FROM_EMAIL_ADDRESS' =&gt; 'FROM_NAME'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setTo(['RECEPIENT_1_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setCc(['RECEPIENT_2_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBody($body)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setContentType('text\/html')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample.png'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample-ebook.pdf'))\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Send the message\n\u00a0\u00a0\u00a0\u00a0$mailer-&gt;send($message);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo 'Email has been sent.';\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Se trata de enviar correos electr\u00f3nicos a trav\u00e9s de la biblioteca Swift Mailer. Tambi\u00e9n puede usar <a href=\"https:\/\/blog.mailtrap.io\/swiftmailer-sendmail\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Symfony Swift Mailer<\/a> para enviar mensajes a trav\u00e9s de algunos servidores SMTP como Mailgun, Mandrill, etc. Me gustar\u00eda escuchar sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/enviar-correo-electronico-usando-el-servidor-smtp-de-gmail-desde-php-script\/\" title=\"Enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail desde el script PHP\">Enviar correo electr\u00f3nico mediante el servidor SMTP de Gmail desde el script PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-enviar-correo-electronico-de-wordpress-usando-el-servidor-smtp\/\" title=\"C\u00f3mo enviar correo electr\u00f3nico de WordPress usando el servidor SMTP\">C\u00f3mo enviar correo electr\u00f3nico de WordPress usando el servidor SMTP<\/a><\/li>\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<\/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>\u00bfEst\u00e1 buscando utilizar el servidor SMTP de Gmail para enviar correos electr\u00f3nicos? En este art\u00edculo, estudiamos c\u00f3mo enviar correos electr\u00f3nicos utilizando el servidor SMTP de Gmail y la biblioteca Swift Mailer.<\/p>\n","protected":false},"author":1,"featured_media":21614,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-28498","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\/28498","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=28498"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28498\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21614"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}