Clase PHPMailer con GMAIL desde localhost


El utilizar la estructura y posibilidades que ofrecen los correos gratuitos como GMAIL, para enviar las noticias, novedades, contenido, comunicados, etc., que se vaya creando en nuestro sitio WEB tiene muchas ventajas, de la que se resalta el asegurar la recepción del correo.

Generalmente se piensa que al utilizar software para mailing se incrementará la cantidad de usuarios que nos visitan y por ende si por ejemplo se trata de un sitio de e-commerce aumentarán nuestras probabilidades de venta de un determinado producto. Pero, esto no es del todo real o efectivo debido a que ponemos muy poca y casi nula atención a la recepción.
Es decir;
Lo que se considera importante es enviar la mayor cantidad de correos sin que nos preocupemos del todo, en cuantos de esos correos enviados son efectivamente recibidos.

De que nos serviría tener la infraestructura y equipamiento para poder realizar envíos de por ejemplo 100000 correos diarios..!! si para el proceso de recepción (Tener el correo en la bandeja de entrada y provocar en el usuario el deseo de abrir el correo recibido) no podemos asegurar ni un 5% de lecturas ? Quizá en este punto es necesario una aclaración, no tratamos que el lector deje de usar software para mailing, pero si lo hace de forma más adecuada y porque no decirlo, de formas más inteligente podrá aumentar el porcentaje de personas que efectivamente dan lectura a nuestros comunicados.

La utilización de la clase PHPMAILER que por supuesto la pueden descargar sin problemas de Internet y que también esta disponible al final del manual con el paquete completo, al conectarse con GMAIL a través de ssl para asegurar la confidencialidad, integridad de los datos que trasmitimos, nos ayuda en este propósito de asegurar la recepción.

Por un momento pensemos lo complicado que será que los servidores de correo como HOTMAIL, YAHOO, LATINMAIL, MIXMAIL, HISPAVISTA, INSTITUCIONALES, DE EMPRESAS PÚBLICAS y PRIVADAS, etc., consideren a los correos enviados desde GMAIL como spam, pero la facilidad con la que marcan a los envíos masivos como spam, adicionando a demás que lo más seguro es que el dominio desde donde se generan los envíos va a estar muy pronto en listas negras.

Quizá dentro de las preguntas obvias están las siguientes:
  • Lo soluciono contratando a una empresa encargada de mailing
    No debemos olvidar como empresa o como un usuario normal de Internet el ser ético respetando la confidencialidad de nuestros clientes. En el momento de optar por una empresa externa primero de ninguna manera aseguramos la recepción casi siempre la empresa contratada se encarga del envío más no de asegurar la recepción. Por otra parte estamos entregando libre y abiertamente información confidencial y que seguramente nos comprometimos a guardarla y utilizarla de forma responsable.

  • GMAIL tiene límites para los envíos diarios
    Correcto como máximo se podrá enviar 500 correos diarios, pero GMAIL no tiene límites en el número de cuentas que un mismo usuario puede crear..!!
Después de esta pequeña introducción empecemos:

Esencialmente la clase PHPMailer utiliza el protocolo SMTP(Puerto 25) para realizar los envíos y está estructurada de la siguiente manera: if(isset($_POST['send']))
{
//error_reporting(E_ALL);
//error_reporting(E_STRICT);

$to = $_POST['to']; //Correo de Destinatario
$nombreTo = $_POST['nombreTo']; // Nombre de Destinatario
$msn = $_POST['msn']; //Mensaje a Enviar

date_default_timezone_set('America/Quito');
require_once('class.phpmailer.php'); //Incluimos la clase PHPHMailer

$mail = new PHPMailer(); //Instanciamos un objeto de la clase incluida
$body = $msn;

$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "xxxxxxxx@gmail.com"; // GMAIL username
$mail->Password = "xxxxxxxx"; // GMAIL password
$mail->From = "Dirección del Remitente";
$mail->FromName = "Nombre del Remitente";

$mail->AddReplyTo("mail@domain.com","First Last"); // Con copia
$mail->Subject = "Caytis | Capacitación en Seguridad y TICS";
$mail->MsgHTML($body);

$address = $to;
$mail->AddAddress($address, $nombreTo);


if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Mensaje Enviado Correctamente !!";
}
}

Inicialmente Crearemos un formulario que proveerá de los datos necesarios para utilizar la clase mencionada, un ejemplo del formulario sería el siguiente:

Clase PHPMailer con GMAIL desde localhost

El formulario utiliza el método POST y está definido como sigue:
< form enctype="multipart/form-data" action="" method="POST" >

Generalmente el problema para enviar los correos del localhost si estamos utilizando windows se presenta al momento de comunicarse con GMAIL vía ssl, sin embargo es un inconveniente que lo resolvemos de forma muy sencilla. Para este manual ejemplificaremos el envío utilizando AppServer por lo que se habilitará la opción ssl en esta herramienta, esto no debe preocupar porque el método es prácticamente el mismo para herramientas similares.

ACTIVANDO SSL

Cuando instalamos AppServer, por defecto trae deshabilitado el protocolo de seguridad SSL. Pasos que debemos hacer para activarlo.
Pasos a seguir

  • 1. Parar el servicio Apache.
  • 2. Copiar los archivos libeay32.dll y ssleay32.dll de la carpeta AppServ\php5 en la carpeta AppServ\Apache2.2\bin\ , sobreescribiendo los existentes.
  • 3. Editar el fichero php.ini que está en uno de estos directorios: C:\Windows\php.ini

    Tenemos que buscar y descomentar (quitarle el ";") la siguiente línea:
    ;extension=php_openssl.dll

    En caso de que no aparezca esa línea en php.ini, simplemente añadimos lo siguiente al final del archivo:
    extension=php_openssl.dll
  • 4. Levantar el servicio Apache.
Clase PHPMailer con GMAIL desde localhost

Con esto sería suficiente para que tengamos disponible el protocolo SSH en todas las aplicaciones que ejecutemos sobre AppServer.

En el caso de Utilizar LINUX, debemos asegurarnos de deshabilitar el FIREWALL..!!

En el ejemplo que esta listo para descargar, una vez configurada la clase con la información de nuestros correos,tendremos un resultado similar al siguiente:

Clase PHPMailer con GMAIL desde localhost

Retornar al INICIO        Visualizar DEMO        Descargar Fuentes

PayPal - The safer, easier way to pay online!
Clic en en enlace: Clic aquí

No hay comentarios:

Publicar un comentario

Capacitación Diseño WEB Hacking Proyectos Foros Manuales

El sistema académico, permite al estudiante acceder al contenido completo del curso.
www.caytics.com.ec

Sistema Académico


Yachay, la primera Ciudad del Conocimiento, será diseñada por Ecuador y Corea del Sur

www.yachay.ec

Conoce más de YACHAY