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.
