MemoCode - Linux
MemoCode

Como enviar correos en php con phpmailer


1. Primero, para poder enviar correos en PHP con PHPMailer, deberás haber instalado previamente PHPMailer en Linux. Aquí está el video:



2. Creamos un archivo php llamado index.php en nuestro servidor web "/var/www/html/index.php"


3. ponemos el siguiente codigo:


                    
<?php
// Cargar la librería PHPMailer instalada con Composer
require 'vendor/autoload.php';

// Importar las clases necesarias de PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

// Crear una nueva instancia de PHPMailer
$mail = new PHPMailer(true); // 'true' habilita excepciones para manejar errores

try {
    /** 
     * CONFIGURACIÓN DEL SERVIDOR SMTP 
     * SMTP (Simple Mail Transfer Protocol) es el protocolo usado para enviar correos electrónicos.
     */
    $mail->isSMTP(); // Habilitar el uso de SMTP
    $mail->Host = 'smtp.gmail.com'; // Servidor SMTP (Gmail en este caso)
    $mail->SMTPAuth = true; // Habilitar autenticación SMTP
    $mail->Username = '[email protected]'; // Correo que enviará los mensajes
    $mail->Password = 'clave de aplicacion'; // Contraseña del correo (puede requerir configuración de acceso en Gmail)
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Cifrado de seguridad TLS (puede ser SSL en algunos servidores)
    $mail->Port = 587; // Puerto usado por Gmail para conexiones TLS (465 para SSL)

    /** 
     * CONFIGURACIÓN DEL REMITENTE Y DESTINATARIO
     * Se define quién envía el correo y a quién va dirigido.
     */
    $mail->setFrom('[email protected]', 'Nombre'); // Dirección y nombre del remitente
    $mail->addReplyTo('[email protected]','Nombre'); // Añadido para respuestas
    $mail->addAddress('[email protected]', 'Nombre'); // Dirección y nombre del destinatario

    /** 
     * CONTENIDO DEL CORREO 
     * Se define el formato y el contenido del mensaje.
     */
    $mail->isHTML(true); // Indica que el contenido del correo será en formato HTML
    $mail->Subject = 'Prueba de PHPMailer'; // Asunto del correo
    $mail->Body = 'Este es un correo de prueba enviado con PHPMailer en AlmaLinux.'; // Cuerpo del mensaje en HTML

    /** 
     * ENVÍO DEL CORREO 
     * Si el envío es exitoso, se muestra un mensaje de confirmación.
     */
    $mail->send();
    echo 'Correo enviado correctamente.';

} catch (Exception $e) {
    /** 
     * MANEJO DE ERRORES 
     * Si ocurre un error, se muestra un mensaje con la razón del fallo.
     */
    echo "Error al enviar el correo: ". $e->getMessage();
}
?>
                    
                  

4. Guardamos el archivo y nos dirijimos a nuestro navegador web y ponemos la ip del servidor para ejecutar el archivo php: www.ip/index.php


5. Listo, te debe mostrar un mensaje de correo enviado correctamente y verificas el correo al que lo enviaste.