Enviar eMail desde PHP con PHPMailer.

Una de las mejores opciones que tenemos para enviar un mail desde PHP a parte de usando la funcion mail() es usando la clase PHPMailer en especial si necesitamos funcionalidades avanzadas como enviar un mail con ficheros adjuntos o configurar el envió mediante el servidor SMTP de Gmail por poner un ejemplo.

Para usar PHPMailer lo primero que debemos hacer es entrar en la web Sourceforge donde podremos descargar la versión PHPMailer for PHP5, una vez que lo descomprimamos rápidamente nos encontraremos con los ficheros necesarios e incluso algunos ejemplos que nos pueden ser de gran utilidad para realizar las llamadas que necesitemos para el envío correcto del email.

Como es lógico lo primero que tenemos que hacer en estos casos es llamar a la clase con require_once o include, en el ejemplo que os pongo a continuación os voy explicando paso a paso lo que se está realizando en cada momento.

require_once('class.phpmailer.php');
$mail = new PHPMailer(true);
$mail->IsSMTP(); 
// Vamos usar SMTP si pusiéramos IsMail() lo mandaría a través de la función mail()
try {
  $mail->SMTPAuth   = true;                  
// Habilitamos la autentificación por SMTP
  $mail->SMTPSecure = "ssl";                 
// Usar SMTP seguro
  $mail->Host       = "smtp.gmail.com";      
// Indicamos el servidor SMTP
  $mail->Port       = 465;                   
// Indicamos el puerto del servidor SMTP de Gmail
  $mail->Username   = "usuario@gmail.com";  
// GMAIL uusuario
  $mail->Password   = "contraseña";            
// GMAIL contraseña
  $mail->AddReplyTo('nombre@dominio.com', 'Nombre Apellido');
  $mail->AddAddress('destinatario@dominio.com', 'Nombre Apellido');
  $mail->SetFrom('nombre@dominio.com', 'Nombre Apellido');
  $mail->Subject = 'Asunto del eMail que enviamos';
  $mail->AltBody = 'Para leer este eMail necesita un cliente compatible'; 
// Mensaje opcional para los que no tengan clientes de eMail compatibles con HTML
  $mail->MsgHTML(file_get_contents('contenido.html')); 
// Solicitamos el contenido del fichero y ponemos como contenido HTML del eMail
  $mail->AddAttachment('images/phpmailer.gif');      
// Fichero adjunto al correo
  $mail->Send();
// Enviamos el eMail
  echo "Mensaje enviado correctamente";
} catch (phpmailerException $e) {
  echo $e->errorMessage(); 
} catch (Exception $e) {
  echo $e->getMessage(); 
}

Como podeis observar es un ejemplo en el que nos conectamos al servidor SMTP de Gmail, para ello necesitamos loguearnos con nuestra cuenta de usuario de Google y a través de las indicación de nos dan en este caso Google.

La mayoría de las opciones de PHPMailer vienen configuradas por defecto por lo que no tendrás ningún problema si no pones algunos campos y al contrario puedes usar muchas otras llamadas que no he puesto en el ejemplo.

En el propio fichero comprimido que descargas se encuentras varias guías de uso que estoy seguro que te serán de gran utilidad.

Cualquier duda o corrección que detectéis podéis dejar un comentario.

Puedes hacer para continuar leyendo o ¡Puedes dejar un comentario en respuesta al artículo aquí!


Enviar emails anónimos con Anonymous Email
Enviar emails anónimos con Anonymous Email
WeTransfer, enviar archivos grandes por email
WeTransfer, enviar archivos grandes por email
Conocer si alguien ha leído un email
Conocer si alguien ha leído un email


Artículos relacionados

Enviar Fax por Internet
Enviar Fax por Internet
Enviar archivos grandes por eMail
Enviar archivos grandes por eMail
phpList, enviar boletines y gestionar listas de email (Email Marketing )
phpList, enviar boletines y gestionar listas de email (Email...
Formulario de contacto 1
Formulario de contacto 1