PHPMailer, una buena alternativa a Mail() de php

Muchas veces podríamos encontrarnos en la situación de que en nuestro hosting esta desactivada la funcion mail() de PHP o que tengamos inconvenientes en el envió de emails desde nuestra pagina por diferentes razones.

WpxTAgD[1]

En mi caso, como en el suyo también podría serlo me ha ayudado mucho la Clase  que te permite enviar emails desde tu script en PHP a través de un servidor SMTP.

SMTP es un protocolo de transferencia de emails, en este se basan muchos programas que nos permiten administrar, enviar y recibir mensajes desde nuestras casillas de correo como ThunderBird o Windows Live Mail.

De manera similar a como lo hacen estos programas lo que haremos es conectarnos usando SMTP y enviar el mensaje usando un servidor de correo, en este caso usaremos el servidor Gmail.
Primero necesitaremos DESCARGAR PHPMAILER.
Los archivos que vamos a necesitar son:

  • class.phpmailer.php
  • class.smtp.php

 

El código para usarlo seria mas o menos así:

//Incluimos el archivo de la clase phpmailer
require_once('directorio/de_los/archivos/class.smtp.php');
require_once('directorio/de_los/archivos/class.phpmailer.php');

$mail = new PHPMailer();

//Le indicamos que el modo será SMTP    
$mail->IsSMTP();     

 //Configuramos el Charset del mensaje               
$mail->CharSet="UTF-8"; 

//Autenticacion Segura con ssl
$mail->SMTPSecure = 'ssl';     

//El servidor smtp, en nuestro caso usaremos el de gmail
$mail->Host = "smtp.gmail.com";

//El puerto, en gmail sería 465
$mail->Port = 465;

//El email a través del cual enviaremos
$mail->Username = '[email protected]';

//Contraseña del email
$mail->Password = 'micontraseña';

//Le indicamos que se requiere autenticacion
$mail->SMTPAuth = true;

//Si responden el mensaje llegará a...
$mail->From = '[email protected]';

//Nombre que le indicará de donde viene el mensaje al destinatario
$mail->FromName = 'Emerald Power';

//Email de destino
$mail->AddAddress('[email protected]');

//Lo mandaremos en HTML?
$mail->IsHTML(true);

$mail->Subject = 'Titulo del mensaje';

$mail->Body = 'Contenido del mensaje';

if(!$mail->Send())
{
echo 'No se pudo enviar el mensaje.'.$mail->ErrorInfo;
}
else
{
echo 'El mensaje se ha enviado correctamente. :)';
}

Hay una cosa que debemos tener en cuenta y es que muchas veces debemos configurar o activar el dominio o la IP de nuestro servidor de hosting desde el panel de nuestro servidor de correos para que este permita la conexión y envió de mails desde nuestro script, este proceso va a variar dependiendo de nuestro servicio de correo.

Te puede interesar:  La Deuda Técnica en el desarrollo de Software

Para otro tipo de instalación o la utilización de alguna de las interesantes características mas avanzadas que nos ofrece PHPMailer puedes visitar directamente su sitio en GitHub.

Luciano Joan Vergara

Luciano Joan Vergara

Desarrollador de software con 10 años de experiencia. Apasionado por la tecnología y desarrollo de proyectos que generen impacto. He trabajado con clientes de Argentina, España, Inglaterra, Chile, Colombia y USA.

Comentarios (No hay comentarios)

wave