Enviar e-mails con
PHPMailer

Me pareció interesante hacer este Post para aquellos que quieran mandar mails de manera sencilla y rápida con la librería
PHPMailer
. La gran mayoría de personas que programan en PHP, utilizan la función mail() para realizar envíos, ya sean simples o complejos. Pero algunos servidores tienen bloqueada la función mail() de php por cuestiones de seguridad.
PHP Mailer es una librería escrita en php para envío de mails desde una web utilizando una cuenta válida de correo de un servidor de mails. 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
* Envíos con HTML
* Envíos de email con adjuntos
* Inclusión de imágenes en el correo
Una característica muy buena e importantisima es que PHPMailer esta validádo para bloquear atauqes XSS (Cross Site Scripting) o sea que no le permite al usuario ingresar código por el formulario.
Instalación de PHPMailer
Descarga PHPMailer desde la web oficial en Worxware . Una vez descargada la librería, copia los archivos class.phpmailer.php y class.smtp.php al servidor. Crea un archivo php, por ejemplo: “Enviar.php”
En el que escribiremos los siguiente:
Código :
<?php
require("class.phpmailer.php"); //Importamos la función PHP class.phpmailer
$mail = new PHPMailer();
Luego tenemos que iniciar la validación por SMTP:
$mail->IsSMTP();
$mail->SMTPAuth = true; // True para que verifique autentificación de la cuenta
$mail->Username = "[email protected]"; // Cuenta de e-mail
$mail->Password = "************"; // Password
$mail->Host = "localhost";
$mail->From = "[email protected]";
$mail->FromName = "Nombre a mostrar del Remitente";
$mail->Subject = "Asunto";
$mail->AddAddress("[email protected]","Nombre a mostrar del Destinatario");
$mail->WordWrap = 50;
$body = "Hola, este es un…";
$body .= "<font color='red'> mensaje de prueba</font>";
$mail->Body = $body;
$mail->Send();
// Notificamos al usuario del estado del mensaje
if(!$mail->Send()){
echo "No se pudo enviar el Mensaje.";
}else{
echo "Mensaje enviado";
}
?>
Sube el archivo “Enviar.php” al servidor en la misma ubicación que los archivos class.phpmailer.php y class.smtp.php.
PHPMailer tiene la posibilidad de enviar archivos adjuntos. Los mismos se pueden agregar de la siguiente forma:
Código :
$mail->AddAttachment("imagenes/img.jpg", "nombre_a_mostrar.jpg");
El primer parámetro la ruta del archivo. El segundo, es el nombre del archivo a mostrar.
También tenemos la posibilidad de agregar cuentas con CC o CCO, con las siguientes líneas:
Código :
$mail->AddCC("[email protected]");
$mail->AddBCC("[email protected]");
Para indicar si el mensaje contiene HTML:
Código :
$mail->IsHTML(true); // El correo se envía como HTML
Fuente: NicSonic - Diseño de Páginas Web y Desarrollo de Software en Argentina
Espero que les sea muy útil, cualquier duda escribanme un
Comenten!