Como configuro PHPMailer en mi sitio web

Fecha Publicación:       28 de Octubre de 2019
Fecha Modificación:       18 de Julio de 2024

PHPMailer es una clase escrita en PHP que facilita el envío de correo, con adjuntos, en formato HTML y con diferentes codificaciones, soporte para imagenes  y funciona con múltiples servidores de correo.

Generalmente para el envío de correo con PHP se utiliza la función mail(), pero esta función tiene varias limitaciones, por ejemplo que no soporta el envío de adjuntos. PHPMailer nos viene a facilitar este trabajo que de otra forma seria muy trabajoso. Viene con un conjunto de métodos que nos ayudarán en el envió de emails.

PHPMailer es una clase de PHP gratuita. Está disponible con licencia de libre distribución y uso, código abierto y se puede obtener a través del enlace siguiente:

 

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//Aqui creamos una variable para almacenar la ruta donde esta los archivos 
//de la clase PHPMailer
$direPHPMailer= $cRutaWeb. "contactenos/PHPMailer-master/src";

/* Exception class. */
require $direPHPMailer."/Exception.php";
/* The main PHPMailer class. */
require $direPHPMailer.'/PHPMailer.php';
/* SMTP class, needed if you want to use SMTP. */
require $direPHPMailer.'/SMTP.php';
//Luego tenemos que iniciar la validación por SMTP:

$mail = new PHPMailer(true);

try {
    //Server settings
   // Para activar el modo debug debes darle el valor 2 
    //La próxima vez que ejecutes el envío desde la aplicación 
//obtendrás en pantalla un largo log de acciones y errores.	
    $mail->SMTPDebug = 0;	
    // Set mailer to use SMTP
    $mail->isSMTP();   

    $mail->Host ='mail.'.$camipage; 
    //ejemplo 'mail.midominio.com';  

      //SMTP authentication
    $mail->SMTPAuth = false;     

    // Le decimos cual es nuestro nombre de usuario y password
    $mail->Username = $emailcontacto;                  
   //ejemplo 'informes@puertasycreaciones.com'; 
    $mail->Password = 'clave_emailcontacto';         

    $mail->SMTPSecure = 'tls';        
    $mail->Port = 587;                
    $mail->setFrom($emailcontacto, $camipage);
   if ($email_cliente != "") {  
         //con el método AddAddress asignamos a quién, o quiénes, 
         //se va a enviar el correo.
      $mail->addAddress($email_cliente, $person_name);    
      $mail->addAddress($emailcontacto, 'Para el administrador');
        
         //También se puede utilizar AddCC y AddBCC para las copias y copias ocultas:
      $mail->AddCC("usuariocopia@correo.com");
      $mail->AddBCC("usuariocopiaoculta@correo.com");

	}else { 
           // si no tine correo el cliente se envia al proveedor para saber
	   $mail->addAddress($emailcontacto);     
	} 	

         // Decimos que el email va a ser tipo HTML
         $mail->isHTML(true); 
        
        // Activo condificacción utf-8                      
	$mail->CharSet = 'UTF-8';

        $mail->Subject = 'Gracias por su Consulta';
       //$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
	$mail->Body    = $mensaje_cli;	

      // Definimos AltBody por si el destinatario del correo no 
     //admite email con formato html 	
       $mail->AltBody = 'Este es el cuerpo en texto plano para clientes 
                       de correo no HTML';

       //Si deseamos añadir un archivo adjunto a nuestro mensaje utilizamos el método 
       //AddAttachment, el cual recibe dos parámetros, 
       // el primero es la ruta del archivo que vamos a incluir 
       //y el segundo es el nombre que se va a mostrar en el correo para este archivo.
        
       $mail->AddAttachment("images/foto.jpg", "foto.jpg");
        $mail->AddAttachment("files/demo.zip", "demo.zip");

      $mail->send();
       //echo 'Message has been sent';exit;
	
	 include_once($cRutaWeb.'/contactenos/contactenos_consulta_enviada.php');	
	
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

 

Definimos Variable  $mensaje_cli

 $mensaje_cli .= "<table width='100%' border='0' align='center'><tr><td align='justify'>		   		   
		   <font face='verdana' size='2'>Hola $person_name,<br><br>  
		   su comentario es:<br/>" . $comentario . "<br/><br/>
	 Gracias Por su Consulta y/o Respuesta Estaremos analizandolo para su Aceptación.<br><br>   
	 Gracias por todo.<br><br>  
	  Sinceramente,<br><br><center> " . $ctitpage ."	 
	 <br> 
	 <a href='http://www.". $camipage."'>http://www.".$camipage." </a><br>  
	 Correo :&nbsp; " . $cemacontacto . "
	   </center>
	   </font>  
	 <br><br>";	 	 	 	 
    $mensaje_cli .= "</td></tr></table>";	
	$mensaje_cli .=$pie;
Articulo : 1314 - Veces Leidas
Compartir Articulo: