02 Dic

¿Cómo envío correos con PHP por SMTP? (PHPMailer)

Compartir

La forma habitual de realizar un envio de correo en PHP es utilizando la función mail(). Pero existe otro método, más seguro y con más funcionalidades adaptado para formularios de contactos y envios masivos de correos, evitando así que tus mensajes sean interpretados como spam.

PHPMailer es uno de ello, nos permite realizar estos mismos envíos con la elección del servidor de envio, creando una aplicación mucho más potente y con la posibilidad de tener un mejor control de los envíos al existir reportes de correo.

Podemos encontrar de forma gratuita PHPMailer haciendo clic PhpMailer, aunque podemos encontrarlo en otros repositorios de la red.

Algunas de las funciones que trae son:

  • Envíos a varios remitentes, con CC, CCO, etc.
  • Soporta 8bits, base64 y binarios
  • Autenticación por SMTP en puertos 25 sin encriptar, 587 TLS, 465 SSL
  • Envíos con HTML
  • Envíos de emails con adjuntos
  • Inclusión de imágenes en el correo, etc

Una vez que tenemos PhpMailer en nuestro alojamiento de Comalis en la ruta de nuestro sitio, debemos iniciar la misma desde PHP como en el siguiente ejemplo:

 

Ejemplo de uso de PHPmailer


require("class.phpmailer.php");
$mail = new PHPMailer();

//Luego tenemos que iniciar la validación por SMTP:
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = ""; // A RELLENAR. Aquí pondremos el SMTP a utilizar. Por ej. mail.midominio.com
$mail->Username = ""; // A RELLENAR. Email de la cuenta de correo. ej.info@midominio.com La cuenta de correo debe ser creada previamente. 
$mail->Password = ""; // A RELLENAR. Aqui pondremos la contraseña de la cuenta de correo
$mail->Port = 465; // Puerto de conexión al servidor de envio. 
$mail->From = ""; // A RELLENARDesde donde enviamos (Para mostrar). Puede ser el mismo que el email creado previamente.
$mail->FromName = ""; //A RELLENAR Nombre a mostrar del remitente. 
$mail->AddAddress("correo"); // Esta es la dirección a donde enviamos 
$mail->IsHTML(true); // El correo se envía como HTML 
$mail->Subject = “Titulo”; // Este es el titulo del email. 
$body = “Hola mundo. Esta es la primer línea ”; 
$body .= “Aquí continuamos el mensaje”; $mail->Body = $body; // Mensaje a enviar. $exito = $mail->Send(); // Envía el correo.
if($exito){ echo ‘El correo fue enviado correctamente.’; }else{ echo ‘Hubo un problema. Contacta a un administrador.’; } 

Existen más posibilidades a agregar como fichero adjuntos y copias ocultas. Consulta el manual oficial aquí:
https://github.com/PHPMailer/PHPMailer

Temas para WordPress