Introduccion a PHPMailer
PHPMailer es una
clase escrita en PHP que facilita el envío de correo, añadiendo
facilidad en el envío de correos con adjuntos, en formato HTML y con
diferentes codificaciones, soporte para imagenes embebidas, headers
personalizados y además funciona con múltiples servidores de correo.
Típicamente
para el envío de correo con PHP se utiliza la función mail(), pero esta
función tiene varias limitaciones, por ejemplo que no soporta el envío
de adjuntos. Entonces PHPMailer nos viene a facilitar este trabajo que
de otra forma seria muy engorroso. Viene con un conjunto de métodos que
nos ayudarán en el envió de emails.
Empezando
El primer paso es descargar PHPMailer, aquí encontraremos dos archivos: class.phpmailer.php el cual contiene las funciones para el envío de correo y class.smtp.php para enviar correo mediante servidores SMTP.
Creamos un nuevo documento PHP en donde incluimos la clase y luego creamos una instancia de la clase para utilizarla mas adelante.
El siguiente paso es asignar las propiedades del correo que vamos a enviar como el servidor de correo, subject y From. Luego con el método AddAddress asignamos a quien o quienes vamos a enviar el correo, también se puede utilizar AddCC y AddBCC para las copias y copias ocultas:
Hasta aquí hemos utilizado las funciones básicas de correo, pero ahora viene la parte del cuerpo del mensaje. Podemos enviar correo en formato HTML e incluso definir un texto que se mostrará si es que el lector de correo no soporta HTML.
Ahora si deseamos añadir un archivo adjunto a nuestro mensaje utilizamos el método AddAttachment el cual recibe dos parámetros, el primero es la ruta del archivo que vamos a incluir y el segundo es el nombre que se va a mostrar en el correo para este archivo.
Finalmente el envío del correo se hace con la función send(). Entonces uniendo todas las partes de nuestro código tenemos:
Desde
luego que hemos utilizado solo las funciones básicas, hay muchas más
opciones con las cuales se puede personalizar completamente el mensaje
que enviamos, puedes encontrar un referencia de estas opciones en: http://phpmailer.sourceforge.net/docs/. Finalmente les dejo los archivos de este ejemplo funcionando para que lo prueben.
Empezando
El primer paso es descargar PHPMailer, aquí encontraremos dos archivos: class.phpmailer.php el cual contiene las funciones para el envío de correo y class.smtp.php para enviar correo mediante servidores SMTP.
Creamos un nuevo documento PHP en donde incluimos la clase y luego creamos una instancia de la clase para utilizarla mas adelante.
<?php require("class.phpmailer.php"); $mail = new PHPMailer(); ?>Propiedades del Mensaje
El siguiente paso es asignar las propiedades del correo que vamos a enviar como el servidor de correo, subject y From. Luego con el método AddAddress asignamos a quien o quienes vamos a enviar el correo, también se puede utilizar AddCC y AddBCC para las copias y copias ocultas:
$mail->Host = "localhost"; $mail->From = "remite@email.com"; $mail->FromName = "Nombre del Remitente"; $mail->Subject = "Subject del correo"; $mail->AddAddress("destino1@correo.com","Nombre 01"); $mail->AddAddress("destino2@correo.com","Nombre 02"); $mail->AddCC("usuariocopia@correo.com"); $mail->AddBCC("usuariocopiaoculta@correo.com");Cuerpo del Mensaje
Hasta aquí hemos utilizado las funciones básicas de correo, pero ahora viene la parte del cuerpo del mensaje. Podemos enviar correo en formato HTML e incluso definir un texto que se mostrará si es que el lector de correo no soporta HTML.
$body = "Hola <strong>amigo</strong><br>"; $body .= "probando <i>PHPMailer<i>.<br><br>"; $body .= "<font color='red'>Saludos</font>"; $mail->Body = $body; $mail->AltBody = "Hola amigo\nprobando PHPMailer\n\nSaludos";Agregar Archivos Adjuntos
Ahora si deseamos añadir un archivo adjunto a nuestro mensaje utilizamos el método AddAttachment el cual recibe dos parámetros, el primero es la ruta del archivo que vamos a incluir y el segundo es el nombre que se va a mostrar en el correo para este archivo.
$mail->AddAttachment("images/foto.jpg", "foto.jpg"); $mail->AddAttachment("files/demo.zip", "demo.zip");Finalizando
Finalmente el envío del correo se hace con la función send(). Entonces uniendo todas las partes de nuestro código tenemos:
require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->Host = "localhost"; $mail->From = "remite@email.com"; $mail->FromName = "Nombre del Remitente"; $mail->Subject = "Subject del correo"; $mail->AddAddress("destino1@correo.com","Nombre 01"); $mail->AddAddress("destino2@correo.com","Nombre 02"); $mail->AddCC("usuariocopia@correo.com"); $mail->AddBCC("usuariocopiaoculta@correo.com"); $body = "Hola <strong>amigo</strong><br>"; $body .= "probando <i>PHPMailer<i>.<br><br>"; $body .= "<font color='red'>Saludos</font>"; $mail->Body = $body; $mail->AltBody = "Hola amigo\nprobando PHPMailer\n\nSaludos"; $mail->AddAttachment("images/foto.jpg", "foto.jpg"); $mail->AddAttachment("files/demo.zip", "demo.zip"); $mail->Send();Si probamos este mensaje obtendremos el siguiente resultado en nuestra cuenta de correo en el cual notamos el mensaje en HTML y los archivos adjuntos.
Comentarios
Publicar un comentario