domingo, 20 de mayo de 2012

PHPMAILER


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?

Es posible enviar email con la funcion mail() de php, pero dicha funcion no permite algunas de las mas populares caracteristicas que proporcionan los clientes de correo usados actualmente. Entre estas caracteristicas se encuentran el envio de email con ficheros adjuntos.
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&ntilde;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.



Luego crearemos un nuevo archivo llamado “envio.php” en el cual pondremos los códigos donde será el destino del mensaje ósea nuestro correo electrónico y el mensaje de confirmación. Para ello ingresaremos los siguientes códigos…

<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, 
Destino: Este va a contener el correo a donde va a ser enviada la información del articulo.
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.


No hay comentarios:

Publicar un comentario