¿Qué es PHPMailer y para qué sirve?
\n\nPHPMailer es una de las bibliotecas más populares y potentes para enviar correos electrónicos en PHP. Proporciona una interfaz simple pero flexible para trabajar con los protocolos SMTP, POP3 e IMAP. A diferencia de la función estándar de PHP mail(), PHPMailer ofrece múltiples ventajas:
- \n
- Soporte de autenticación SMTP — envío seguro a través de servidores de correo externos (Gmail, Yandex, Mail.ru, servidor SMTP propio). \n
- Trabajo con correos HTML — creación de correos atractivos y formateados con imágenes y estilos. \n
- Archivos adjuntos — posibilidad de adjuntar archivos de cualquier tipo. \n
- Soporte UTF-8 — funcionamiento correcto con cirílico y otros idiomas. \n
- Protección contra inyección de encabezados — seguridad de su aplicación. \n
- Soporte de varias codificaciones — Base64, Quoted-Printable y otras. \n
- Trabajo con CC y BCC — copias ocultas y visibles. \n
La biblioteca se utiliza en miles de proyectos en todo el mundo, incluyendo CMS como WordPress, Drupal y Joomla. Si necesita enviar correos desde una aplicación PHP — ya sean notificaciones de registro, restablecimiento de contraseña, boletines o propuestas comerciales — PHPMailer será su herramienta indispensable.
\n\nInstalación de PHPMailer
\n\nPHPMailer se instala a través de Composer, el gestor de dependencias para PHP. Si aún no tiene Composer, instálelo desde el sitio oficial getcomposer.org.
\n\nAbra la terminal en la carpeta raíz de su proyecto y ejecute el comando:
\n\ncomposer require phpmailer/phpmailer\n\nDespués de una instalación exitosa, en su proyecto aparecerán la carpeta vendor y el archivo composer.json. Para incluir la biblioteca en su script PHP, use el cargador automático de Composer:
require 'vendor/autoload.php';\n\nSi no usa Composer, puede descargar la biblioteca manualmente desde GitHub e incluirla con require_once, pero se recomienda encarecidamente usar Composer para la gestión automática de dependencias.
Inicio rápido con ejemplo de código
\n\nEnviemos nuestro primer correo con PHPMailer. En este ejemplo, usamos el servidor SMTP de Gmail. Asegúrese de tener habilitado el acceso a aplicaciones menos seguras o use una contraseña de aplicación (App Password) para la autenticación de dos factores.
\n\n<?php\n// Incluimos el cargador automático de Composer\nrequire 'vendor/autoload.php';\n\n// Importamos las clases de PHPMailer\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\SMTP;\nuse PHPMailer\\PHPMailer\\Exception;\n\n// Creamos una instancia de PHPMailer\n$mail = new PHPMailer(true);\n\ntry {\n // Configuración del servidor\n $mail->SMTPDebug = SMTP::DEBUG_OFF; // Desactivamos la depuración (para producción)\n $mail->isSMTP(); // Usamos SMTP\n $mail->Host = 'smtp.gmail.com'; // Servidor SMTP\n $mail->SMTPAuth = true; // Activamos la autenticación\n $mail->Username = 'your_email@gmail.com'; // Su correo electrónico\n $mail->Password = 'your_password'; // Su contraseña o contraseña de aplicación\n $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // Cifrado SSL\n $mail->Port = 465; // Puerto para SSL\n\n // Remitente y destinatario\n $mail->setFrom('your_email@gmail.com', 'Su Nombre');\n $mail->addAddress('recipient@example.com', 'Nombre del Destinatario');\n\n // Contenido del correo\n $mail->isHTML(true); // Establecemos el formato HTML\n $mail->Subject = 'Correo de prueba de PHPMailer';\n $mail->Body = '<h1>¡Hola!</h1><p>Este es un correo de prueba enviado con <b>PHPMailer<'