Introducción
El objeto de este escrito es presentar al lector la
clase PHPMailer con la que podra realizar todas aquellas cosas que nunca ha
podido realizar con la funcion mail() de PHP.
En primer lugar se tratara de explicar que es y las
ventajas que ofrece PHPMailer, a continuacion se describiran las propiedades y
metodos principales de esta clase. Para aclarar las posibles dudas se expondran
dos ejemplos en los que se vera como enviar correo a traves de una cuenta
gratuita creada en hotpop.
¿Que es phpmailer?
Ø PHPMailer es una clase php para
enviar emails basada en el componente active server ASPMail. Permite de una
forma sencilla tareas complejas como por ejemplo:
- Enviar mensajes de correo con ficheros adjuntos (attachments)
- enviar mensajes de correo en formato HTML
Ø Con PHPMailer se pueden enviar
emails via sendmail, PHP mail(), o con SMTP. Lo mas recomendable es usando smtp
por dos razones:
- Con phpmailer se pueden usar varios servidores SMTP. Esto permite repartir la carga entre varias computadoras, con lo que se podran enviar un mayor numero de mensajes en un tiempo menor.
- Ademas los servidores SMTP permiten mensajes con multimples to's (destinatarios), cc's (Las direcciones que aparezcan en este campo recibiran el mensaje. Todos los destinatarios veran las direcciones que aparecen en la seccion Cc), bcc's (Las direcciones que aparezcan en el campo Bcc recibiran el mensaje. Sin embargo, ninguno de los destinatarios podra ver las direcciones que fueron incluidas en la seccion Bcc) y Reply-tos (direcciones de respuesta)
¿Por qué usar phpmailer?
PHPMailer hace facil esta dificil tarea de enviar correos con estas caracteristicas y puedes incluso utilizar tu propio servidor smtp aunque este requiera autenticacion (un nombre de usuario y contraseña), con lo que se podra usar una cuenta gratuita de correo obtenida por ejemplo en hotpop.
Ejemplo
Sencillo de cómo crear nuestro PHPMAILER
Creamos un nuevo
documento PHP en ya sea en Dreamweaber o Bloc de Notas. En los cuales
escribiremos el siguiente código de nuestra prueba de phpmailer, El cual
consiste en enviar un comentario sobre un articulo.
Para ello
empezaremos nuestro trabajo en un archivo llamado “index.php” e ingresaremos
los siguientes códigos.
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" dir="ltr"
lang="es-ES" xml:lang="es-ES">
<head
profile="http://gmpg.org/xfin/11">
<meta
http-equiv="Content-Type" content="text/html;
charset=UTF-8" />
<title>Formulario
de Contacto</title>
<style type =
"text/css" media="sceen">
* {font-family: Arial,sans-serif;
color: #000;}
body {backround-color: #eee; margin-top: 10%;}
</style>
</head>
<body>
<form
action="envio.php" method="post">
<fieldset>
<img
src="294814_234860443216210_100000767671088_571018_2127306_n.jpg"
alt="Messi" width="599" height="396"
longdesc="Este es la evidencia de que messi es el mejor jugador de futbol
del mundo" /></p>
<p>Messi
es sin duda alguna el mejor jugador de la historia del futbol, la imagen
muestra como deja tirados a dos jugadores del real madrid, y no solo consigue
dejarlos tirados sino que tambien a conseguido un gol con el que el equipo
blaugrana consiguira el titulo de la super copa de españa. </p>
<p><label>Nombre
completo <input type="text" name="nombre"
size="50"/></label></p>
<p><label>Email
<input type="text" name="email"
size="25"/></label></p>
Ingrese
un comentario sobre este articulo imagen:
<p><label><textarea
name="texto" cols="50" rows="6"></textarea></label></p>
<input
type="submit" value="Enviar"/>
</fieldset>
</form>
</body>
</html>
Importante la direccion de la imagen de ejemplo por favor eliminenla o agregen una nueva de lo contrario el navegador no encontrara la imagen ingresada en nuestro codigo para ello editar esta linea...
<img
src="294814_234860443216210_100000767671088_571018_2127306_n.jpg"
alt="Messi" width="599" height="396"
longdesc="Este es la evidencia de que messi es el mejor jugador de futbol
del mundo" /></p>
Esta linea esta en el codigo anterior por favor modifiquenla o les generara algun error.
bueno pasando a lo siguiente y con los codigos escritos lo que
conseguiremos con este código en el navegador será lo que se muestra en la
siguiente imagen…este es mi pagina de ejemplo.
<p>El comentario fue enviado correctamente, Gracias por comentar este articulo</p>
<?php
$fecha=date("d-m-Y");
$hora=date("H:i:s");
$destino="j_fernando09@hotmail.com";
$asunto="Comentario";
$desde='From: ' .$_POST[email];
$comentario="
\n
Nombre completo := $_POST[nombre]\n
Email:= $_POST[email]\n
Comentario sobre el articulo: $_POST[texto]\n
Enviado el: $fecha a las $hora\n
\n
";
mail($destino, $asunto, $comentario, $desde)
?>
Informacion sobre los
Fecha: La fecha actual de
Día, Mes y Año,
Hora: La hora en que el correo fue
enviado,
Asunto: Lo
definimos con la palabra Comentario,
Desde: Aquí va a capturar la
variable del formulario email. Y por ultimo en
Comentario: Insertamos
un salto de línea este se hace con \n, luego el nombre que es el campo nombre
de nuestro formulario hacemos lo mismo con todas las variables, luego enviamos
la fecha y la hora en que se envió la información del formulario de esta manera
“Enviado: $fecha a las $hora\n”, y por ultimo esta es la función mail de PHP “mail($destino,
$asunto, $comentario, $desde)” en la que incluimos las variables $Destino
que sería el correo, $asunto, $comentario y $desde, que sería el correo de
donde se está enviando.
Realizado ya nuestra pagina php y mostrada en el correo electronico se mostrara de la siguiente forma en nuestro correo...
Una vez realizado todo
el trabajo para este ejemplo, podemos subir nuestro phpmailer a la web, en mi
caso lo subí creando un nuevo dominio en 000webhost.com y añadí los archivos
creados (index.php y envio.php) con el programa filezilla para subirlos
directamente a la web de este modo me quedo de la siguiente manera por favor
visitar mi pagina de ejemplo de phpmailer en la siguiente dirección http://juanfernando.comuf.com/
gracias por su atención espero que esta entrada les sea de mucha ayuda y que
Dios les Bendiga.