{"id":6169,"date":"2018-03-27T10:24:04","date_gmt":"2018-03-27T10:24:04","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-tutoriales\/?p=6169"},"modified":"2026-03-10T16:44:36","modified_gmt":"2026-03-10T15:44:36","slug":"enviar-emails-usando-php-mail","status":"publish","type":"post","link":"\/co\/tutoriales\/enviar-emails-usando-php-mail\/","title":{"rendered":"C\u00f3mo usar PHP Mail y PHPMailer &#8211; Gu\u00eda completa"},"content":{"rendered":"<p class=\"wp-block-paragraph\">La mayor&iacute;a de las empresas crean una cuenta de correo electr&oacute;nico profesional para aumentar su credibilidad y generar confianza en los clientes. Para ello, tienes que comprar un dominio y configurar el correo electr&oacute;nico de tu empresa en un cliente de correo electr&oacute;nico o en un servidor.<\/p><p class=\"wp-block-paragraph\">Si construyes tu sitio web o aplicaci&oacute;n web con el lenguaje de programaci&oacute;n PHP, puedes enviar correos electr&oacute;nicos directamente desde tu servidor web.&nbsp;<\/p><p class=\"wp-block-paragraph\">La funcionalidad de correo PHP te permite crear formularios de correo personalizados y enviar correos electr&oacute;nicos b&aacute;sicos basados en texto a varios destinatarios.<\/p><p class=\"wp-block-paragraph\">Hay dos formas de enviar correos electr&oacute;nicos en PHP: utilizando la <strong>funci&oacute;n PHP mail() <\/strong>incorporada o una biblioteca de env&iacute;o de correos como <strong>PHPMailer<\/strong>.<\/p><p class=\"wp-block-paragraph\">En este art&iacute;culo, trataremos las diferencias entre PHPMailer y la funci&oacute;n <strong>mail() <\/strong>y te mostraremos c&oacute;mo enviar correos electr&oacute;nicos con ambos.<\/p><p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/assets.hostinger.com\/content\/ES-Web-Development-Glossary-for-Beginners.pdf\" target=\"_blank\" rel=\"noopener\">Descarga Glosario Completo de Desarrollo Web<\/a><br><\/p><p class=\"wp-block-paragraph\"><\/p><p class=\"wp-block-paragraph\"><div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   &iquest;Qu&eacute; es PHP mail?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">PHP mail es una funci&oacute;n que env&iacute;a correos electr&oacute;nicos utilizando scripts PHP. La funci&oacute;n PHP incorporada puede dirigirse a varios destinatarios por env&iacute;o de correo electr&oacute;nico. Sin embargo, no es adecuada para el env&iacute;o masivo de correos electr&oacute;nicos sin utilizar un paquete de correo PHP externo como PHPMailer.<\/p><\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-phpmailer-vs-mail-ventajas-y-desventajas\">PHPMailer vs mail(): ventajas y desventajas<\/h2><p class=\"wp-block-paragraph\">PHP mail permite a los administradores de sitios web basados en PHP enviar correo desde su <a href=\"\/co\/tutoriales\/que-es-un-servidor-web\/\">servidor web<\/a> utilizando scripts PHP. Es una alternativa popular a contratar un servicio de alojamiento de correo electr&oacute;nico de terceros, ya que la funci&oacute;n PHP est&aacute; integrada en el servidor web.<\/p><p class=\"wp-block-paragraph\">Enviar correos electr&oacute;nicos en <a href=\"\/co\/tutoriales\/que-es-php\/\">PHP<\/a> es posible mediante la funci&oacute;n nativa PHP <strong>mail() <\/strong>o un paquete de correo PHP externo como PHPMailer. Aqu&iacute; tienes una breve descripci&oacute;n de cada m&eacute;todo, incluyendo sus ventajas e inconvenientes:<\/p><h3 class=\"wp-block-heading\">Funci&oacute;n PHP mail()<\/h3><p class=\"wp-block-paragraph\"><strong>mail()<\/strong> es una funci&oacute;n PHP que utiliza scripts PHP para enviar correos electr&oacute;nicos sencillos. La funci&oacute;n mail incluye tres par&aacute;metros obligatorios: <strong>$to<\/strong>, <strong>$subject <\/strong>y <strong>$message<\/strong>. Los par&aacute;metros opcionales a utilizar incluyen <strong>$headers <\/strong>y <strong>$parameters<\/strong>. Los trataremos con m&aacute;s detalle m&aacute;s adelante.<\/p><p class=\"wp-block-paragraph\">Esta funci&oacute;n PHP integrada devuelve un valor <strong>booleano <\/strong>al ejecutarse: <strong>TRUE <\/strong>si el servidor recibe correctamente el correo electr&oacute;nico para enviarlo o <strong>FALSE <\/strong>en caso de fallo.<\/p><p class=\"wp-block-paragraph\"><strong>Ventajas<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Preinstalado y listo para usar, todo lo que necesitas es tener PHP.<\/li>\n\n\n\n<li>Compatible con versiones anteriores, un cambio de versi&oacute;n de PHP no romper&aacute; el script.<\/li>\n\n\n\n<li>F&aacute;cil de aprender.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><strong>Desventajas<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Env&iacute;a correos electr&oacute;nicos utilizando un m&eacute;todo anticuado sin soporte integrado para la autenticaci&oacute;n moderna como SPF y DKIM.<\/li>\n\n\n\n<li>A menudo cae en las carpetas de spam o correo basura debido a la falta de autenticaci&oacute;n y a una configuraci&oacute;n incorrecta.<\/li>\n\n\n\n<li>Requiere una configuraci&oacute;n compleja para SMTP, lo que aumenta la posibilidad de activar los filtros de spam.<\/li>\n\n\n\n<li>No puede gestionar grandes vol&uacute;menes de correos electr&oacute;nicos de forma eficaz.<\/li>\n\n\n\n<li>Ofrece l&iacute;mites de env&iacute;o m&aacute;s bajos y menos fiabilidad en comparaci&oacute;n con PHPMailer.<\/li>\n\n\n\n<li>Devuelve <strong>TRUE <\/strong>aunque el correo electr&oacute;nico no llegue al destinatario.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante! <\/strong>Si eres usuario de Hostinger, ten en cuenta que los l&iacute;mites actuales para los correos electr&oacute;nicos enviados mediante PHP mail() son <strong>100\/d&iacute;a <\/strong>y <strong>10\/minuto<\/strong>. Estos l&iacute;mites se restablecer&aacute;n cada 24 horas y se consumir&aacute;n inmediatamente si hay correos en cola.\n            <\/p><\/div><\/p><h3 class=\"wp-block-heading\">PHPMailer<\/h3><p class=\"wp-block-paragraph\">PHPMailer es una biblioteca popular de env&iacute;o de correo que soporta el env&iacute;o de correo a trav&eacute;s de la funci&oacute;n <strong>mail() <\/strong>o de un servidor <a href=\"\/co\/tutoriales\/puerto-smtp\/\">SMTP<\/a>. Da acceso a un conjunto de funciones para enviar correo, simplificando el proceso manual de configuraci&oacute;n del correo en PHP.<\/p><p class=\"wp-block-paragraph\"><strong>Ventajas<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Env&iacute;a correos electr&oacute;nicos a trav&eacute;s de una conexi&oacute;n segura con autenticaci&oacute;n SPF y DKIM, mejorando la entrega en la bandeja de entrada.<\/li>\n\n\n\n<li>Simplifica la configuraci&oacute;n del correo electr&oacute;nico y admite funciones avanzadas como cuerpos HTML y archivos adjuntos.<\/li>\n\n\n\n<li>Admite SMTP con encriptaci&oacute;n <a href=\"\/co\/tutoriales\/ssl-tls-https\/\">SSL<\/a> y <a href=\"\/co\/tutoriales\/que-es-tls\/\">TLS<\/a> integrada.<\/li>\n\n\n\n<li>Gestiona grandes vol&uacute;menes de correo electr&oacute;nico de forma eficaz en poco tiempo.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><strong>Desventajas<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Requiere instalaci&oacute;n manual a trav&eacute;s de SSH.<\/li>\n\n\n\n<li>Incurre en costes adicionales en el plan de alojamiento web <strong>Single <\/strong>de Hostinger debido a la falta de acceso SSH.<\/li>\n\n\n\n<li>Tiene una curva de aprendizaje m&aacute;s pronunciada que la funci&oacute;n incorporada <strong>mail()<\/strong>.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante! <\/strong>Si utilizas PHPMailer con Titan Mail en Hostinger, el l&iacute;mite de env&iacute;o es de <strong>1000 correos\/d&iacute;a <\/strong>y <strong>300 correos\/hora<\/strong>. Para el servicio de correo electr&oacute;nico de Hostinger, el l&iacute;mite es mayor: hasta <strong>3000 correos\/d&iacute;a <\/strong>sin l&iacute;mite horario. Comprueba los par&aacute;metros y l&iacute;mites de cada servicio, ya que var&iacute;an en funci&oacute;n de tu plan de alojamiento.\n            <\/p><\/div><\/p><h2 class=\"wp-block-heading\" id=\"h-como-utilizar-phpmailer-para-enviar-correos-electronicos\">C&oacute;mo utilizar PHPMailer para enviar correos electr&oacute;nicos<\/h2><p class=\"wp-block-paragraph\">En esta secci&oacute;n, cubriremos los pasos para enviar correo utilizando PHPMailer. Recomendamos utilizar una conexi&oacute;n SMTP autenticada con PHPMailer para aumentar la entregabilidad de tus correos frente a los filtros de spam.<\/p><h3 class=\"wp-block-heading\">Instalaci&oacute;n de PHPMailer<\/h3><p class=\"wp-block-paragraph\">Instalar PHPMailer es bastante sencillo, sobre todo si utilizas <a href=\"\/co\/tutoriales\/como-instalar-composer\/\">Composer<\/a>.<\/p><p class=\"wp-block-paragraph\">Ten en cuenta que los <a href=\"\/co\/hosting-web\">planes de alojamiento web<\/a> Premium y Business de Hostinger y las opciones de <a href=\"\/co\/cloud-hosting\">alojamiento en la nube<\/a> vienen preinstalados con dos versiones de Composer.<\/p><p class=\"wp-block-paragraph\">Utiliza el comando <strong>composer <\/strong>para activar la versi&oacute;n <strong>1.10 <\/strong>de Composer. Si necesitas la nueva versi&oacute;n <strong>2.<\/strong>0 o utilizas la versi&oacute;n PHP <strong>8.0 <\/strong>o posterior, ejecuta el comando <strong>composer2<\/strong>.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/co\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-29291\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/ES-Web-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante!<\/strong> Debes instalar PHPMailer utilizando Composer a trav&eacute;s de SSH para que funcione correctamente. A&ntilde;adir un archivo <strong>phpmailer.php <\/strong>con c&oacute;digo SMTP, como veremos m&aacute;s adelante en esta gu&iacute;a, no funcionar&aacute; sin una instalaci&oacute;n adecuada.\n            <\/p><\/div><\/p><p class=\"wp-block-paragraph\">Sigue estos pasos para instalar PHPMailer manualmente:<\/p><ol class=\"wp-block-list\">\n<li>Desde tu <a href=\"\/co\/tutoriales\/tutorial-hpanel\/\">panel de control hPanel<\/a>, ve a <strong>Avanzado &rarr; Acceso SSH <\/strong>y toma nota de la <strong>IP SSH<\/strong>, el <strong>puerto<\/strong>, el <strong>nombre de usuario <\/strong>y la <strong>contrase&ntilde;a <\/strong>en los <strong>detalles SSH<\/strong>.<\/li>\n\n\n\n<li>Abre PuTTY e introduce tu informaci&oacute;n SSH en los <strong>campos Nombre de host (o direcci&oacute;n IP) <\/strong>y <strong>Puerto<\/strong>. A continuaci&oacute;n, haz clic en <strong>Abrir<\/strong>.<\/li>\n\n\n\n<li>Cuando aparezca una ventana de comandos, escribe tu nombre de usuario y contrase&ntilde;a SSH y pulsa <strong>Intro<\/strong>. Recuerda que PuTTY no mostrar&aacute; la contrase&ntilde;a, as&iacute; que no te sorprendas si no aparece en la pantalla.<\/li>\n\n\n\n<li>Ejecuta el siguiente comando para navegar hasta el directorio <strong>public_html<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd public_html<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Ejecuta el siguiente comando para instalar PHPMailer:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer2 require phpmailer\/phpmailer<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Espera un momento hasta que finalice el proceso de instalaci&oacute;n. &Eacute;ste es el aspecto que deber&iacute;a tener:<\/li>\n<\/ol><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2025\/12\/enlaces-afiliados.jpg\/public\" alt=\"Instalaci&oacute;n de Composer\" class=\"wp-image-46393\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2025\/12\/enlaces-afiliados.jpg\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2025\/12\/enlaces-afiliados.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2025\/12\/enlaces-afiliados.jpg\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2025\/12\/enlaces-afiliados.jpg\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Aprende m&aacute;s sobre los <a href=\"\/co\/tutoriales\/comandos-ssh-esenciales\/\">comandos SSH<\/a> que te ayudar&aacute;n a gestionar tu servidor.<\/p>\n                    <\/div>\n        <\/p><h3 class=\"wp-block-heading\">Comprender los componentes de PHPMailer<\/h3><p class=\"wp-block-paragraph\">Para entender c&oacute;mo funciona PHPMailer, repasemos cada componente del script anterior.<\/p><ul class=\"wp-block-list\">\n<li><strong>use PHPMailerPHPMailerPHPMailer;<\/strong> importa la clase PHPMailer al espacio de nombres global.<\/li>\n\n\n\n<li><strong>require &lsquo;..\/vendor\/autoload.php&rsquo;;<\/strong> incluye varias bibliotecas que PHPMailer necesita.<\/li>\n\n\n\n<li><strong>$mail = new PHPMailer;<\/strong> crea un nuevo objeto PHPMailer.<\/li>\n\n\n\n<li><strong>$mail-&gt;isSMTP();<\/strong> indica a la clase PHPMailer que utilice la configuraci&oacute;n SMTP personalizada definida en el script en lugar del servidor de correo local.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPDebug = 2;<\/strong> detecta si algo va mal en la conexi&oacute;n SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Host = &lsquo;smtp.hostinger.com&rsquo;;<\/strong> aqu&iacute; es donde se debe especificar la direcci&oacute;n del servidor SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Puerto = 587;<\/strong> establece aqu&iacute; el puerto SMTP. Elegiremos el <a href=\"\/co\/tutoriales\/puerto-smtp-587\/\">puerto SMTP 587<\/a> como puerto de env&iacute;o de correo por defecto para todos los tipos de transmisi&oacute;n de datos SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPAuth = true;<\/strong> activa la autenticaci&oacute;n SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Username = &lsquo;micorreo@midominio.tld&rsquo;;<\/strong> especifica aqu&iacute; tu direcci&oacute;n de correo electr&oacute;nico.<\/li>\n\n\n\n<li><strong>$mail-&gt;Password = &lsquo;Mi$tr0ngPa55w0rd!;<\/strong> introduce aqu&iacute; tu contrase&ntilde;a de correo electr&oacute;nico.<\/li>\n\n\n\n<li><strong>$mail-&gt;setFrom(&lsquo;micorreo@midominio.tld&rsquo;, &lsquo;Tu nombre&rsquo;);<\/strong> aqu&iacute; es donde se inserta la direcci&oacute;n de correo electr&oacute;nico del remitente.<\/li>\n\n\n\n<li><strong>$mail-&gt;addReplyTo(&lsquo;micorreo@midominio.tld&rsquo;, &lsquo;Tu nombre&rsquo;);<\/strong> informa al destinatario a qu&eacute; direcci&oacute;n debe responder.<\/li>\n\n\n\n<li><strong>$mail-&gt;addAddress(&lsquo;destinatario@dominio.tld&rsquo;, &lsquo;Nombre del destinatario&rsquo;);<\/strong> inserta aqu&iacute; la direcci&oacute;n del destinatario.<\/li>\n\n\n\n<li><strong>$mail-&gt;Subject = &lsquo;Comprobando si PHPMailer funciona&rsquo;;<\/strong> a&ntilde;ade aqu&iacute; el asunto del correo electr&oacute;nico.<\/li>\n\n\n\n<li><strong>$mail-&gt;msgHTML(file_get_contents(&lsquo;mensaje.html&rsquo;), __DIR__);<\/strong> lee un cuerpo de mensaje HTML de un archivo externo. La funci&oacute;n <strong>file_get_contents(<\/strong>) cargar&aacute; el contenido de <strong>message.html<\/strong>, un archivo local ubicado en el directorio <strong>public_html<\/strong>, y lo incluir&aacute; en el mensaje.<\/li>\n\n\n\n<li><strong>$mail-&gt;Body = &lsquo;Esto es s&oacute;lo el cuerpo del mensaje en texto plano&rsquo;;<\/strong> contiene el cuerpo del mensaje de correo.<\/li>\n\n\n\n<li><strong>\/\/$mail-&gt;addAttachment(&lsquo;adjunto.txt&rsquo;);<\/strong> si quieres incluir adjuntos, a&ntilde;ade los nombres de los archivos y elimina la doble barra de esta declaraci&oacute;n.<\/li>\n\n\n\n<li><strong>if (!$mail-&gt;send()) {<\/strong> define lo que ocurre cuando se ejecuta el script.<\/li>\n\n\n\n<li><strong>echo &lsquo;Error de Mailer:&rsquo;. $mail-&gt;ErrorInfo;<\/strong> ver&aacute;s un mensaje de error y los detalles del error si el script falla en el env&iacute;o.<\/li>\n\n\n\n<li><strong>} else {<\/strong> ampl&iacute;a la sentencia <strong>if <\/strong>y describe lo que ocurre si no se cumple la condici&oacute;n anterior.<\/li>\n\n\n\n<li><strong>echo &lsquo;&iexcl;El mensaje de correo electr&oacute;nico se ha enviado!&rsquo;;<\/strong> significa que el proceso de env&iacute;o del correo electr&oacute;nico se ha realizado correctamente.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">La l&iacute;nea <strong>SMTPDebug = 2; <\/strong>s&oacute;lo es aplicable cuando pruebas un script y quieres ver c&oacute;mo funciona. Recuerda cambiarla a <strong>SMTPDebug = 0; <\/strong>cuando termines la prueba para evitar que los receptores capten el informe de entrega del protocolo SMTP.<\/p>\n                    <\/div>\n        <\/p><h3 class=\"wp-block-heading\">Usar PHPMailer con Hostinger SMTP<\/h3><p class=\"wp-block-paragraph\">Despu&eacute;s de instalar PHPMailer, puedes empezar a enviar correos electr&oacute;nicos en PHP. Esta secci&oacute;n te mostrar&aacute; c&oacute;mo enviar correos electr&oacute;nicos a trav&eacute;s del servidor SMTP de Hostinger utilizando PHPMailer.<\/p><p class=\"wp-block-paragraph\">Para ello, sigue los pasos que se indican a continuaci&oacute;n:<\/p><ol class=\"wp-block-list\">\n<li><a href=\"\/co\/tutoriales\/como-crear-un-correo\/\">Crea una cuenta de correo electr&oacute;nico<\/a> accediendo a <strong>hPanel <\/strong>y, a continuaci&oacute;n, ve a <strong>Emails &rarr; Cuentas de correo electr&oacute;nico &rarr; Crear cuenta de correo electr&oacute;nico<\/strong>.<\/li>\n\n\n\n<li>Rellena la nueva direcci&oacute;n de correo electr&oacute;nico y establece una contrase&ntilde;a. A continuaci&oacute;n, haz clic en <strong>Crear<\/strong>. Recuerda esta informaci&oacute;n, ya que la utilizar&aacute;s para enviar correo a trav&eacute;s de PHPMailer.<\/li>\n\n\n\n<li>Desde la misma p&aacute;gina, ve a <strong>Ajustes de configuraci&oacute;n &rarr; Configuraci&oacute;n manual <\/strong>y toma nota del <strong>Puerto SMTP <\/strong>y del <strong>Nombre de host<\/strong>.<\/li>\n\n\n\n<li>Accede al panel de control de <strong>hPanel <\/strong>y navega hasta <strong>Archivos &rarr; Administrador de Archivos<\/strong>. Haz clic en la carpeta <strong>public_html <\/strong>y selecciona <strong>A&ntilde;adir nuevo <\/strong>para crear un nuevo archivo. Nombra el archivo <strong>phpmailer.php <\/strong>y haz clic en <strong>Crear<\/strong>.<\/li>\n\n\n\n<li>Haz doble clic en el archivo <strong>phpmailer.php<\/strong>, y copia y pega el c&oacute;digo que aparece a continuaci&oacute;n despu&eacute;s de realizar todos los cambios necesarios. Aseg&uacute;rate de sustituir <strong>micorreo@midominio.tld <\/strong>y <strong>destinatario@midominio.tld <\/strong>por tu dominio actual y <strong>My$tr0ngPa55w0rd! <\/strong>por la contrase&ntilde;a de tu cuenta de correo electr&oacute;nico.<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nrequire 'vendor\/autoload.php';\nuse PHPMailerPHPMailerPHPMailer;\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;SMTPDebug = 2;\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'micorreo@midominio.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('micorreo@midominio.tld', 'tu nombre');\n$mail-&gt;addReplyTo('micorreo@midominio.tld', 'tu nombre');\n$mail-&gt;addAddress(destinatario@dominio.tld', 'nombre destinatario');\n$mail-&gt;Subject = 'Comprobando si PHPMailer funciona';\n$mail-&gt;msgHTML(file_get_contents('message.html'), __DIR__);\n$mail-&gt;Body = 'Esto es s&oacute;lo el cuerpo del mensaje en texto plano';\n\/\/$mail-&gt;addAttachment('attachment.txt');\nif (!$mail-&gt;send()) {\necho 'Mailer Error:'. $mail-&gt;ErrorInfo;\n} else {\necho '&iexcl;El mensaje de correo electr&oacute;nico se ha enviado!';\n}\n?&gt;<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Despu&eacute;s de editar el c&oacute;digo, haz clic en <strong>Guardar y Cerrar<\/strong>. Para ejecutar el script, introduce <strong>sudominio.tld\/phpmailer.php <\/strong>en tu navegador web.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Si utilizas Titan Mail, con&eacute;ctate a trav&eacute;s del puerto <strong>465 <\/strong>(SSL) o <strong>587 <\/strong>(STARTTLS). Visita <strong>Emails &rarr; Configurar Desktop App <\/strong>para ver los <a href=\"https:\/\/support.hostinger.com\/es\/articles\/5966022-como-obtener-detalles-de-configuracion-de-la-cuenta-de-correo-electronico-para-titan-email\" target=\"_blank\" rel=\"noreferrer noopener\">detalles de configuraci&oacute;n de cuenta de correo electr&oacute;nico<\/a>.<\/p>\n                    <\/div>\n        <\/p><h3 class=\"wp-block-heading\">Crear un formulario de contacto PHPMailer<\/h3><p class=\"wp-block-paragraph\">Adem&aacute;s de enviar correo PHP simple, PHPMailer permite a los usuarios crear varios formularios de contacto, como encuestas de opini&oacute;n.<\/p><p class=\"wp-block-paragraph\">Al igual que los scripts PHP anteriores, crea un nuevo archivo PHP en la carpeta <strong>public_html <\/strong>y ll&aacute;malo <strong>formscript.php<\/strong>.&nbsp;<\/p><p class=\"wp-block-paragraph\">Copia y pega el script que aparece a continuaci&oacute;n en el nuevo archivo y modifica los valores en consecuencia:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPMailerPHPMailerPHPMailer;\n$msg = '';\nif (array_key_exists('email', $_POST)) {\nrequire 'vendor\/autoload.php';\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPDebug = 0;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'micorreo@midominio.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('micorreo@midominio.tld', 'Mr. Snuffles');\n$mail-&gt;addAddress(destinatario@dominio.tld', 'nombre destinatario');\nif ($mail-&gt;addReplyTo($_POST['email'], $_POST['name'])) {\n$mail-&gt;Subject = 'PHPMailer contact form';\n$mail-&gt;isHTML(false);\n$mail-&gt;Body = &lt;&lt;&lt;EOT\nEmail: {$_POST['email']}\nName: {$_POST['name']}\nMessage: {$_POST['message']}\nEOT;\nif (!$mail-&gt;send()) {\n$msg = 'Sorry, something went wrong. Please try again later.';\n} else {\n$msg = 'Message sent! Thanks for contacting us.';\n}\n} else {\n$msg = 'Share it with us!';\n}\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n&lt;meta charset=\"UTF-8\"&gt;\n&lt;title&gt;Contact form&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Contact us&lt;\/h1&gt;\n&lt;?php if (!empty($msg)) {\necho \"&lt;h2&gt;$msg&lt;\/h2&gt;\";\n} ?&gt;\n&lt;form method=\"POST\"&gt;\n&lt;label for=\"name\"&gt;Name: &lt;input type=\"text\" name=\"name\" id=\"name\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"email\"&gt;Email address: &lt;input type=\"email\" name=\"email\" id=\"email\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"message\"&gt;Message: &lt;textarea name=\"message\" id=\"message\" rows=\"8\" cols=\"20\"&gt;&lt;\/textarea&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;input type=\"submit\" value=\"Send\"&gt;\n&lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Tomar la entrada del usuario de <strong>$_POST <\/strong>y utilizarla sin sanear no es seguro debido a los ataques <strong>de cross-site scripting (XSS<\/strong>).<\/p>\n                    <\/div>\n        <\/p><p class=\"wp-block-paragraph\">Guarda los cambios y ejecuta el script desde tu navegador.<\/p><p class=\"wp-block-paragraph\">He aqu&iacute; c&oacute;mo ser&aacute; el resultado:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2018\/03\/ejemplo-formulario-contacto.png\/public\" alt=\"Ejemplo de formulario de contacto\" class=\"wp-image-46394\"><\/figure><\/div><p class=\"wp-block-paragraph\">Si un visitante env&iacute;a un mensaje a trav&eacute;s del formulario, recibir&aacute; una confirmaci&oacute;n. El contenido del formulario se enviar&aacute; a la direcci&oacute;n de correo electr&oacute;nico que hayas introducido aqu&iacute;:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&amp;gt;addAddress('destinatario@dominio.tld', 'Nombre destinatario');<\/pre><p class=\"wp-block-paragraph\">        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Consejo profesional                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Si el formulario de contacto de PHPMailer no funciona, cambia la l&iacute;nea <strong>$mail-&gt;SMTPDebug = 0; <\/strong>por <strong>$mail-&gt;SMTPDebug = 2 <\/strong>para identificar la causa. No olvides eliminar la l&iacute;nea o cambiar el <strong>2 <\/strong>por <strong>0 <\/strong>despu&eacute;s.<\/p>\n                    <\/div>\n        <\/p><p class=\"wp-block-paragraph\">Si eres usuario de WordPress, puedes agilizar el proceso de creaci&oacute;n de formularios utilizando un <a href=\"\/co\/tutoriales\/crear-formulario-contacto-wordpress\/\">plugin de formulario de contacto<\/a> como <strong>Formidable Forms<\/strong>, <strong>Contact Form 7 <\/strong>o <strong>WPForms<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-enviar-correos-electronicos-utilizando-la-funcion-php-mail\">C&oacute;mo enviar correos electr&oacute;nicos utilizando la funci&oacute;n PHP mail()<\/h2><p class=\"wp-block-paragraph\">Otro m&eacute;todo para enviar correos electr&oacute;nicos directamente desde PHP es la funci&oacute;n incorporada <strong>mail()<\/strong>.&nbsp;<\/p><p class=\"wp-block-paragraph\">Para utilizar esta funci&oacute;n, los usuarios que alojen su aplicaci&oacute;n o sitio PHP en un servidor local deben configurar un programa Sendmail cambiando el <a href=\"\/co\/tutoriales\/que-es-php-ini\/\">archivo php.ini<\/a> de su carpeta de instalaci&oacute;n de PHP.<\/p><p class=\"wp-block-paragraph\">Si utilizas un servidor de alojamiento, <strong>Sendmail <\/strong>suele venir ya preconfigurado. Sin embargo, debes asegurarte de que tu proveedor de alojamiento te permite gestionar manualmente la opci&oacute;n de <strong>servicio Sendmail<\/strong>.<\/p><p class=\"wp-block-paragraph\">Por defecto, el servicio <strong>Sendmail <\/strong>ya est&aacute; activado. No obstante, vuelve a comprobarlo para estar seguro.<\/p><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante! <\/strong>Titan Mail activa la funci&oacute;n PHP <strong>mail() <\/strong>por defecto. Por lo tanto, no puedes activarla o desactivarla en hPanel.\n            <\/p><\/div><\/p><h3 class=\"wp-block-heading\">Comprender los componentes de correo PHP<\/h3><p class=\"wp-block-paragraph\">Para ayudarte a entender la funci&oacute;n PHP <strong>mail()<\/strong>, revisaremos los componentes del script PHP utilizado en la secci&oacute;n anterior.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );<\/pre><p class=\"wp-block-paragraph\">Las dos primeras l&iacute;neas de arriba activan el informe de errores para informarte si el script PHP ha fallado al ejecutarse.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$from = \"micorreo@midominio.tld\";<\/pre><p class=\"wp-block-paragraph\">Esta l&iacute;nea contiene la direcci&oacute;n de correo electr&oacute;nico del remitente. La mayor&iacute;a de los proveedores de alojamiento proh&iacute;ben a&ntilde;adir aqu&iacute; direcciones de correo electr&oacute;nico aleatorias debido al riesgo de suplantaci&oacute;n.&nbsp;<\/p><p class=\"wp-block-paragraph\">Por tanto, es mejor utilizar una con tu nombre de dominio para ejecutar el script con &eacute;xito.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$to = \"micorreo@midominio.tld\";<\/pre><p class=\"wp-block-paragraph\">La direcci&oacute;n de correo electr&oacute;nico del destinatario va aqu&iacute;. Separa las direcciones de correo electr&oacute;nico con comas si quieres enviar varios correos.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$subject = \"Comprobando correo PHP\";<\/pre><p class=\"wp-block-paragraph\">Introduce aqu&iacute; el asunto del correo electr&oacute;nico.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$message = \"El correo PHP funciona perfectamente\";<\/pre><p class=\"wp-block-paragraph\">Aqu&iacute;, introduce el cuerpo de tu mensaje de correo electr&oacute;nico.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$headers = \"De:\" . $from;<\/pre><p class=\"wp-block-paragraph\">Esta l&iacute;nea suele incluir cabeceras adicionales como <strong>De<\/strong>, <strong>Responder-a <\/strong>y <strong>CC<\/strong>. Puedes separarlos con el CRLF.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">if (mail ($to,$subject,$message,$headers))<\/pre><p class=\"wp-block-paragraph\">Este script ejecuta la funci&oacute;n <strong>mail() <\/strong>y comprueba si se ha ejecutado correctamente.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"Se ha enviado el mensaje de correo electr&oacute;nico\";<\/pre><p class=\"wp-block-paragraph\">El mensaje anterior aparecer&aacute; si la funci&oacute;n <strong>mail() <\/strong>se ejecuta correctamente.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"El mensaje de correo electr&oacute;nico no se ha enviado\";<\/pre><p class=\"wp-block-paragraph\">Alternativamente, ver&aacute;s este mensaje si falla la funci&oacute;n <strong>mail()<\/strong>.<\/p><p class=\"wp-block-paragraph\">Aunque las cabeceras adicionales son opcionales, es esencial incluir la cabecera <strong>&ldquo;De&rdquo; <\/strong>al enviar correo. De lo contrario, recibir&aacute;s una notificaci&oacute;n como &eacute;sta:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Warning: mail(): \"sendmail_from\" not set in php.ini or custom \"From:\" header missing.<\/pre><h3 class=\"wp-block-heading\">Crear un archivo de prueba para el correo PHP<\/h3><p class=\"wp-block-paragraph\">Despu&eacute;s de asegurarte de que <strong>Sendmail <\/strong>est&aacute; activo, crea un archivo de correo PHP dentro del directorio <strong>public_html<\/strong>.<\/p><p class=\"wp-block-paragraph\">He aqu&iacute; c&oacute;mo hacerlo:<\/p><ol class=\"wp-block-list\">\n<li>Desde <strong>hPanel<\/strong>, navega a <strong>Archivos<\/strong>&rarr; <strong>&nbsp;Administrador de archivos <\/strong>para acceder al <strong>Administrador de archivos de Hostinger<\/strong>.<\/li>\n\n\n\n<li>Haz doble clic en la carpeta <strong>public_html <\/strong>y selecciona el icono <strong>Nuevo archivo <\/strong>de la parte superior. Nombra este nuevo archivo <strong>testmail.php <\/strong>y pulsa <strong>Crear<\/strong>.<\/li>\n\n\n\n<li>Haz doble clic en <strong>testmail.php <\/strong>para editarlo. Puedes utilizar el c&oacute;digo PHP b&aacute;sico que aparece a continuaci&oacute;n, pero cambiando los par&aacute;metros en consecuencia. Describiremos los componentes del script con m&aacute;s detalle en la siguiente subsecci&oacute;n:<\/li>\n\n\n\n<li>Haz clic en <strong>Guardar y cerrar <\/strong>cuando hayas terminado.<\/li>\n\n\n\n<li>Env&iacute;a el correo electr&oacute;nico accediendo <strong>a tudominio\/testmail.php<\/strong> desde tu navegador web. Recuerda cambiar <strong>&ldquo;tudominio<\/strong>&rdquo; por el dominio utilizado al crear <strong>testmail.php<\/strong>.<\/li>\n<\/ol><h3 class=\"wp-block-heading\">Enviar correos HTML con PHP<\/h3><p class=\"wp-block-paragraph\">La funci&oacute;n PHP <strong>mail() <\/strong>tambi&eacute;n puede enviar mensajes de correo electr&oacute;nico HTML. Este formato es muy personalizable en comparaci&oacute;n con un mensaje de texto plano.<\/p><p class=\"wp-block-paragraph\">El proceso para enviar correo HTML es el mismo, pero esta vez debes incluir un mensaje HTML y cabeceras de par&aacute;metros adicionales.<\/p><p class=\"wp-block-paragraph\">Aqu&iacute; tienes un ejemplo de script b&aacute;sico para enviar un correo electr&oacute;nico HTML:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"micorreo@midominio.tld\";\n$to = \"destinatario@dominio.tld\";\n$subject = \"Comprobando PHP mail\";\n$message = \"\n&lt;html&gt;\n&lt;head&gt;\n&lt;title&gt;This is a test HTML email&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;p&gt;Hi, it's a test email. Please ignore.&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\";\n\/\/ The content-type header must be set when sending HTML email\n$headers = \"MIME-Version: 1.0\" . \"rn\";\n$headers .= \"Content-type:text\/html;charset=UTF-8\" . \"rn\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"Message was sent.\";\n} else {\necho \"Message was not sent.\";\n}\n?&gt;<\/pre><h2 class=\"wp-block-heading\" id=\"h-como-solucionar-errores-comunes-de-php-mail-y-phpmailer\">C&oacute;mo solucionar errores comunes de PHP mail y PHPMailer<\/h2><p class=\"wp-block-paragraph\">En la siguiente secci&oacute;n, revisaremos algunos de los problemas m&aacute;s comunes al utilizar la funci&oacute;n PHP <strong>mail() <\/strong>o PHPMailer y c&oacute;mo solucionarlos.<\/p><h3 class=\"wp-block-heading\">Direcci&oacute;n del remitente rechazada: no es propiedad del usuario<\/h3><p class=\"wp-block-paragraph\">Este error significa que el servidor no ha podido autentificar al remitente con los datos facilitados.&nbsp;<\/p><p class=\"wp-block-paragraph\">Para solucionarlo, comprueba la direcci&oacute;n de correo electr&oacute;nico que has utilizado para enviar el mensaje y aseg&uacute;rate de que corresponde a una existente.<\/p><p class=\"wp-block-paragraph\">Adem&aacute;s, aseg&uacute;rate de que tu <strong>Sender Policy Framework (SPF<\/strong>) est&aacute; activado.&nbsp;<\/p><p class=\"wp-block-paragraph\">Si utilizas Hostinger, comprueba tu registro SPF accediendo a <strong>hPanel <\/strong>y navegando hasta <strong>Emails<\/strong>&rarr; <strong>&nbsp;Cuentas de correo electr&oacute;nico<\/strong>&rarr; <strong>&nbsp;Configuraci&oacute;n DNS<\/strong> &rarr; <strong>&nbsp;Gestionar la entrega de correo electr&oacute;nico<\/strong>.<\/p><p class=\"wp-block-paragraph\">Si el registro SPF est&aacute; activado, aparecer&aacute; como <strong>Activo.<\/strong><\/p><h3 class=\"wp-block-heading\">Gmail no pudo verificar que domain.tld enviar&aacute; este mensaje<\/h3><p class=\"wp-block-paragraph\">Si ves esta advertencia al probar un script de correo PHP, la causa puede ser una de las siguientes:<\/p><ul class=\"wp-block-list\">\n<li><strong>No hay ning&uacute;n registro SPF en la Zona DNS del dominio<\/strong>: si falta el registro o utilizas servidores de nombres externos, a&ntilde;ade manualmente un nuevo registro SPF TXT a trav&eacute;s de hPanel o cPanel.<\/li>\n\n\n\n<li><strong>Has utilizado datos de autenticaci&oacute;n SMTP no v&aacute;lidos<\/strong>: aseg&uacute;rate de utilizar una direcci&oacute;n de correo electr&oacute;nico existente que te pertenezca.<\/li>\n<\/ul><h3 class=\"wp-block-heading\">El correo va a la carpeta de spam<\/h3><p class=\"wp-block-paragraph\">Hay varias razones por las que el correo PHP puede activar los filtros de spam. Algunas de las causas m&aacute;s comunes son:<\/p><ul class=\"wp-block-list\">\n<li><strong>Asunto enga&ntilde;oso o parecido al spam<\/strong>: suele ocurrir cuando se utilizan t&eacute;rminos como &ldquo;prueba&rdquo; o &ldquo;urgente&rdquo;. Aseg&uacute;rate de establecer una intenci&oacute;n clara en la l&iacute;nea de <strong>Asunto<\/strong>.<\/li>\n\n\n\n<li><strong>Direcci&oacute;n del remitente incorrecta<\/strong>: a&ntilde;adir una direcci&oacute;n incorrecta puede hacer que las medidas de seguridad filtren tu correo electr&oacute;nico para evitar suplantaciones y estafas.<\/li>\n\n\n\n<li><strong>Utilizaci&oacute;n de palabras desencadenantes de spam<\/strong>: elimina de tu mensaje palabras spam como &ldquo;una gran oferta&rdquo; y &ldquo;esto no es spam&rdquo; para aumentar la credibilidad de tu correo electr&oacute;nico.<\/li>\n\n\n\n<li><strong>Tu lista de correo no tiene un enlace para darse de baja<\/strong>: aseg&uacute;rate de incluir un bot&oacute;n de baja para evitar este problema y fomentar la confianza de los lectores.<\/li>\n<\/ul><h3 class=\"wp-block-heading\">No se ha podido conectar con el host SMTP<\/h3><p class=\"wp-block-paragraph\">Las versiones m&aacute;s recientes de PHP suelen tener un comportamiento SSL m&aacute;s estricto. Si la funci&oacute;n PHP <strong>mail() <\/strong>no se ejecuta despu&eacute;s de actualizar tu PHP a la &uacute;ltima versi&oacute;n, &eacute;sta podr&iacute;a ser la causa.<\/p><p class=\"wp-block-paragraph\">El uso de PHPMailer con algunos proveedores de alojamiento tambi&eacute;n suele provocar este error de c&oacute;digo.<\/p><p class=\"wp-block-paragraph\">Por ejemplo, seg&uacute;n la wiki de PHPMailer, GoDaddy bloquea las conexiones SMTP salientes a trav&eacute;s de los puertos <strong>25<\/strong>, <strong>465 <\/strong>y <strong>587 <\/strong>a servidores de terceros como Gmail y Hotmail, excepto los suyos propios. Adem&aacute;s, no admite la integraci&oacute;n con servidores SMTP de terceros.<\/p><p class=\"wp-block-paragraph\">Utiliza el siguiente script para resolver este error:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt; SMTPOptions = array(\n$mail-&gt;SMTPOptions = array(&nbsp;\n'ssl' =&gt; array(&nbsp;\n'verify_peer' =&gt; false,&nbsp;\n'verify_peer_name' =&gt; false,&nbsp;\n'allow_self_signed' =&gt; true&nbsp;\n)&nbsp;\n);<\/pre><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>&iexcl;Importante! <\/strong>Evita implementar estos cambios globalmente en <strong>php.ini<\/strong>, ya que hacerlo permite conexiones inseguras, un problema de seguridad que PHP ha solucionado desde la versi&oacute;n <strong>5.6<\/strong>.\n            <\/p><\/div><\/p><p class=\"wp-block-paragraph\">Como el SMTP de Hostinger no tiene este problema, considera la posibilidad de migrar a nuestro servicio de <a href=\"\/co\/correo-profesional\">correo electr&oacute;nico empresarial<\/a> para una mejor experiencia de env&iacute;o.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/co\/correo-profesional\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-29274\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2023\/02\/Email-hosting-in-text-banner-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p class=\"wp-block-paragraph\">Puedes enviar correos electr&oacute;nicos con PHP utilizando la funci&oacute;n <strong>mail() <\/strong>o una biblioteca de env&iacute;o de correos como PHPMailer.&nbsp;<\/p><p class=\"wp-block-paragraph\">La primera es adecuada para enviar peque&ntilde;os vol&uacute;menes de mensajes sencillos basados en texto, mientras que la segunda es mejor para enviar correos masivos o crear formularios de contacto.<\/p><p class=\"wp-block-paragraph\">Puedes aprovechar la funci&oacute;n de correo PHP incorporada creando un nuevo archivo PHP en el directorio <strong>public_html <\/strong>y ejecutando el script mediante tu navegador web.<\/p><p class=\"wp-block-paragraph\">Por otro lado, enviar correos electr&oacute;nicos con PHPMailer requiere instalar la biblioteca de c&oacute;digo a trav&eacute;s de Composer, crear una cuenta de correo electr&oacute;nico para ella y configurar los ajustes SMTP de tu alojamiento.<\/p><p class=\"wp-block-paragraph\">En este tutorial, cubrimos la instalaci&oacute;n de PHPMailer, la creaci&oacute;n de un script de prueba y la configuraci&oacute;n de un sencillo formulario de contacto.&nbsp;<\/p><p class=\"wp-block-paragraph\">Tambi&eacute;n vimos el env&iacute;o de correos electr&oacute;nicos con la funci&oacute;n PHP <strong>mail() <\/strong>y la resoluci&oacute;n de errores comunes durante el proceso de env&iacute;o de correos electr&oacute;nicos.<\/p><p class=\"wp-block-paragraph\">Esperamos que este tutorial te haya resultado &uacute;til. Si tienes m&aacute;s preguntas, d&eacute;jalas en la secci&oacute;n de comentarios m&aacute;s abajo.<\/p><h2 class=\"wp-block-heading\" id=\"h-enviar-correos-con-php-preguntas-frecuentes\">Enviar correos con PHP &ndash; Preguntas frecuentes<\/h2><p class=\"wp-block-paragraph\">Esta secci&oacute;n cubre algunas de las preguntas m&aacute;s comunes sobre enviar un email con php.&nbsp;<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-694476b9edec0\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;Puedo enviar correos electr&oacute;nicos desde PHPMailer a Gmail u otros servicios de correo electr&oacute;nico?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Depende de tu proveedor de alojamiento. Con GoDaddy, no puedes enviar correo a bandejas de entrada que implementan los protocolos de autenticaci&oacute;n de correo SPF y DKIM, como Gmail, Yahoo y Hotmail.&nbsp;u003cbr \/u003eu003cbr \/u003eSin embargo, este problema no persiste con Hostinger. Ponte en contacto con tu proveedor de alojamiento web para aclarar su configuraci&oacute;n SMTP y si admite PHP Mailer con servidores SMTP de terceros. <\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-694476b9edec3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">&iquest;C&oacute;mo puedo validar las direcciones de correo electr&oacute;nico antes de utilizar la funci&oacute;n PHP mail() o PHPMailer para enviar correos electr&oacute;nicos?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Puedes utilizar la funci&oacute;n u003cstrongu003efilter_var() u003c\/strongu003ey pasar la direcci&oacute;n de correo electr&oacute;nico al filtro u003cstrongu003eFILTER_VALIDATE_EMAILu003c\/strongu003e.&nbsp;u003cbr \/u003eu003cbr \/u003eEste filtro verificar&aacute; la validez del correo electr&oacute;nico, asegur&aacute;ndose de que no contiene caracteres no admitidos ni espacios en blanco.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>La mayor&iacute;a de las empresas crean una cuenta de correo electr&oacute;nico profesional para aumentar su credibilidad y generar confianza en los clientes. Para ello, tienes que comprar un dominio y configurar el correo electr&oacute;nico de tu empresa en un cliente de correo electr&oacute;nico o en un servidor. Si construyes tu sitio web o aplicaci&oacute;n web [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/co\/tutoriales\/enviar-emails-usando-php-mail\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":85,"featured_media":46870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo enviar correos web con PHP mail() y PHPMailer","rank_math_description":"Descubre c\u00f3mo enviar correos electr\u00f3nicos con PHP mail() y PHPMailer. Aprende a configurar SMTP y resuelve problemas comunes.","rank_math_focus_keyword":"enviar email php","footnotes":""},"categories":[5698],"tags":[14010],"class_list":["post-6169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email","tag-php-mail"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-enviar-emails-usando-php\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/php-mail\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/enviar-emails-usando-php-mail\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-send-emails-using-php-mail-function\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/enviar-emails-usando-php-mail\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/enviar-emails-usando-php-mail\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/enviar-emails-usando-php-mail\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-enviar-emails-usando-php\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/comments?post=6169"}],"version-history":[{"count":17,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6169\/revisions"}],"predecessor-version":[{"id":46869,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/6169\/revisions\/46869"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/media\/46870"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/media?parent=6169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/categories?post=6169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/tags?post=6169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}