Email m�sivo en PHP con PHPMailer

Me pareci� interesante hacer este Tip 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

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 o de lo contrario False 
$mail->Username = "remitente@dominio.com"; // Cuenta de e-mail 
$mail->Password = "************"; // Password 

$mail->Host = "localhost"; 
$mail->From = "remitente@dominio.com"; 
$mail->FromName = "Nombre a mostrar del Remitente"; 
$mail->Subject = "Asunto"; 
$mail->AddAddress("destinatario@dominio.com","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.

Notas:

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("cuenta@dominio.com"); 
$mail->AddBCC("cuenta@dominio.com");

Para indicar si el mensaje contiene HTML:

Código :

$mail->IsHTML(true); // El correo se env�a como HTML

Espero que les sea muy �til, cualquier duda escriban en los comentarios o al foro.

Saludos. NicSonic.

Enviar comentario


Deja una respuesta