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.