Enviar EMail con PHP

Enviar Email con PHP es una tarea muchas veces sencilla, podemos utilizar la función mail() de PHP, pero a veces se nos hace complicado cuando queremos enviar email con archivos adjuntos o agregando código HTML, este tutorial explicara paso a paso como enviar un email con diferentes características: enviar email básico, con código HTML y con archivos adjuntos.

Para el ejemplo utilizaremos PHPMailer que es una Clase para enviar Email con PHP.

Paso 1: descargar librería PHPMailer

La librería es Open Source y la podemos descargar del sitio oficial de PHPMailer. Para estos ejemplos necesitaremos solo el archivo class.phpmailer.php.

Descargar PHPMailer

Paso 2: Enviar Email Básico

El siguiente código servirá para enviar un Email básico a cualquier usuario, solo contiene texto sin formato en el cuerpo del mensaje, para esto primero debemos configurar algunos parámetros.

//incluyendo e instanciando la clase PHPMailer
require("class.phpmailer.php");
$mail = new PHPMailer();

//Nombre del servidor
$mail->Host 	= "localhost";
//Email del remitente
$mail->From 	= "craftyman.dw@gmail.com";
//Nombre del remitente
$mail->FromName = "Cesar Mancilla";
//Asunto
$mail->Subject 	= "Propuesta de trabajo";
//Email y nombre destinatario
$mail->AddAddress("destino@hotmail.com","Juan Perez");
//Mensaje
$mail->Body = "Hola, esta es mi propuesta de trabajo.";
//Enviar
$mail->Send();

Paso 3: Enviar Email con códigos HTML

En el siguiente ejemplo veremos como enviar HTML por Email, podemos incluso adjuntar el HTML desde un archivo, y también podemos colocarlo como una variable.

//incluyendo e instanciando la clase PHPMailer
require("class.phpmailer.php");
$mail = new PHPMailer();

//Nombre del servidor
$mail->Host 	= "localhost";
//Email del remitente
$mail->From 	= "craftyman.dw@gmail.com";
//Nombre del remitente
$mail->FromName = "Cesar Mancilla";
//Asunto
$mail->Subject 	= "Propuesta de trabajo";
//Email y nombre destinatario
$mail->AddAddress("destino@hotmail.com","Juan Perez");

//Adjuntando HTML
$body = $mail->getFile('mensaje.html'); 
// or $body = "<p>Nombre</p> <br />"
$mail->IsHTML(true);
$mail->MsgHTML($body);

//Enviar
$mail->Send();

Paso 4: Enviar Email con Archivos Adjuntos

Este ejemplo nos servira cuando queremos enviar Email con archivos adjuntos.

//incluyendo e instanciando la clase PHPMailer
require("class.phpmailer.php");
$mail = new PHPMailer();

//Nombre del servidor
$mail->Host 	= "localhost";
//Email del remitente
$mail->From 	= "craftyman.dw@gmail.com";
//Nombre del remitente
$mail->FromName = "Cesar Mancilla";
//Asunto
$mail->Subject 	= "Propuesta de trabajo";
//Email y nombre destinatario
$mail->AddAddress("destino@hotmail.com","Juan Perez");
//Adjuntando HTML
$body = $mail->getFile('mensaje.html'); 

//Adjuntando archivo
$mail->AddAttachment("files/cv.pdf", "CV");

$mail->MsgHTML($body);

Estos ejemplos simples son los más usados en el campo laboral, claro que siempre hay nuevas cosas y pueden comentar si tienen alguna duda que aclarar o algo que aportar y aprender más.

También te puede interesar

2 Comments

  1. Detectar errores con PHP y enviarlos por Email
    ene 05, 2011 @ 00:08:10

    [...] ejecutan cada vez que ocurre algún tipo de error en la aplicación, también podemos configurar el envió por email para enterarnos de inmediato cuando ocurren [...]

  2. Detecta errores con PHP y envíalos por Email | elCSS.com
    ene 05, 2011 @ 12:35:56

    [...] cada vez que ocurre algún tipo de error en la aplicación, también podemos configurar el envió por email para enterarnos de inmediato cuando ocurren [...]