Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Desarrollo Web / PHP / Envio de correo gmail con PHPMailer

Envio de correo gmail con PHPMailer

Autor jc mouse viernes, marzo 29, 2013

En este tutorial utilizaremos la librería PHPMailer para enviar correo electrónico utilizando el servidor de GMail de Google a cualquier otro servidor de correo.

se estrello

Necesitamos

– Una cuenta de correo en GMail

– Una cuenta de correo en Hotmail

– Un servidor web,(en este ejemplo utilizaremos appserv en Windows así que realizaremos unos pasos adicionales )

– La librería PHPMailer

– Un editor de texto y conocimientos sobre PHP POO

Comencemos

Como trabajaremos sobre windows, debemos realizar algunos cambios en la configuración de AppServ.

PHPmailer y GMail hacen uso del protocolo SSL (Secure Sockets Layer – capa de conexión segura) para la protección de datos, entonces debemos habilitar este protocolo en appserver. Los pasos son:

1. Detener el servicio  de Apache (Control Server by Service – Apache Stop)

2. Abrir con un editor de texto el archivo php.ini hubicado en c:\ -> windows -> php.ini, buscar la opción:

;extension=php_openssl.dll

eliminar el punto y coma “;” y guardar los cambios.

3. Ahora debes dirigirte a la carpeta donde tienes instalado appserv “c:\AppServ\php5\” y copiar los archivos libeay32.dll y ssleay32.dll para pegarlos en la carpeta “c:\AppServ\Apache2.2\bin”, te pide autorización para sobrescribir los archivos, le dices que si.

4. Para terminar vuelve a levantar el servicio de Apache (Control Server by Service – Apache Start)

Con estos pasos ya tendremos habilitado la opción SSL en nuestro AppServ, para ver que todo está bien puedes dirigirte a la información de php desde el navegador

nuclearmail

Utilizando PHPMailer

Para poder utilizar la librería PHPMailer, descomprime los archivos en c:\AppServ\www\PHPMailer-master\, crea un archivo PHP llamado email.php en esa misma carpeta con cualquier editor de texto.

Utilizando la POO extenderemos la clase PHPMailer de la siguiente forma:

<?php
require 'class.phpmailer.php';
/**
* Clase email que se extiende de PHPMailer
*/
class email  extends PHPMailer{

    //datos de remitente
    var $tu_email = 'remitente@gmail.com';
    var $tu_nombre = 'Osama Bin Laden';
    var $tu_password ='*******';

    /**
 * Constructor de clase
 */
    public function __construct()
    {
      //configuracion general
     $this->IsSMTP(); // protocolo de transferencia de correo
     $this->Host = 'smtp.gmail.com';  // Servidor GMAIL
     $this->Port = 465; //puerto
     $this->SMTPAuth = true; // Habilitar la autenticación SMTP
     $this->Username = $this->tu_email;
     $this->Password = $this->tu_password;
     $this->SMTPSecure = 'ssl';  //habilita la encriptacion SSL
     //remitente
     $this->From = $this->tu_email;
    $this->FromName = $this->tu_nombre;
    }

    /**
 * Metodo encargado del envio del e-mail
 */
    public function enviar( $para, $nombre, $titulo , $contenido)
    {
       $this->AddAddress( $para ,  $nombre );  // Correo y nombre a quien se envia
       $this->WordWrap = 50; // Ajuste de texto
       $this->IsHTML(true); //establece formato HTML para el contenido
       $this->Subject =$titulo;
       $this->Body    =  $contenido; //contenido con etiquetas HTML
       $this->AltBody =  strip_tags($contenido); //Contenido para servidores que no aceptan HTML
       //envio de e-mail y retorno de resultado
       return $this->Send() ;
   }

}//--> fin clase

/* == se emplea la clase email == */

$contenido_html =  '<p>Hola, me llamo <em><strong>jc-mouse</strong></em> y quiero hacer una pregunta. </p>
<p>&iquest;POR QUE QUEREIS MATAR A BIN LADEN, SI &quot;OS<em><strong>AMA</strong></em>&quot; ?</p>
<p><strong>:)</strong></p>';

$email = new email();
if ( $email->enviar( 'destinatario@hotmail.com' , 'Barack Obama' , 'Tengo una pregunta' ,  $contenido_html ) )
   echo 'Mensaje enviado';
else
{
   echo 'El mensaje no se pudo enviar ';
   $email->ErrorInfo;
}

?>

Podemos ver que al inicio de la clase declaramos nuestro correo electrónico, ademas del password y nombre de usuario, en el constructor de clase realizamos las configuraciones básicas y necesarias para conectarnos al servidor SMTP de GMail , tenemos también un método para “enviar” nuestro correo.

Al final implementamos clase email.php indicando el correo de hotmail a quien enviar junto al nombre del destinatario, titulo del mensaje, y contenido.

Ejecuta desde el navegador http:\\localhost\PHPMailer-master\email.php y si no tenemos ningún error, el mensaje será enviado en unos segundos.

 smtp

se estrello

FIN o.O

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Crear XML desde una base de datos con jDom

Crear XML desde una base de datos con jDom

Un post cortito de fin de semana 🙂 , este trata de la forma de extraer la información de una base de datos formar una es...

Crear web multi-lenguaje con php

Crear web multi-lenguaje con php

En este tutorial realizaremos un proyecto web de un “sitio multi lenguaje” o “web multi idiomas”...

Radio.Garden .:. La web donde puedes escuchar Radios de todo el mundo

Radio.Garden .:. La web donde puedes escuchar Radios de todo el mundo

Radio.Garden es un proyecto interactivo desarrollado por el Instituto Holandés para el Sonido y la Visión en cooperación...

JSpinner: Cambiar color de fondo y fuente

JSpinner: Cambiar color de fondo y fuente

Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten incrementar  y dec...

Dibujando con Canvas

Dibujando con Canvas

La clase Canvas (Lienzo)  de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para...

Gráfico de columnas con iReport

Gráfico de columnas con iReport

El gráfico de columnas es uno  tipo de gráfico que nos permite representar fácilmente la cantidad de veces que ocurre un...

7 comentarios en “Envio de correo gmail con PHPMailer”

  1. Pablo Valdivia dice:

    Me gustaría aportar con el Himno de la Fuerza Aérea Boliviana

    DESDE EL NORTE Y EL SUR

    LA FUERZA AÉREA LLEGÓ

    DEL OESTE AL ORIENTE

    A LA PATRIA SE UNIÓ

    1. Mouse dice:

      gracias. lo publicare de inmediato 🙂

  2. Gracias
    Me sirvio el tutorial
    Un afectuoso saludo!

  3. fercho dice:

    esta muy bueno este tuto amigo te lo agradesco mucho oye soy nuevo en esto de la programacion y como se le aria para poner unformulario con sus cajas de texto y su boton de envio espero tu respuesta saludos

  4. Miguel H. dice:

    Hola, y de donde obtengo los archivos libeay32.dll y ssleay32.dl ..Gracias

    1. Mouse dice:

      Si tienes instalado appserv, los archivos ya estan en tu pc, busca en “c:\AppServ\php5\” 🙂

      1. Miguel H. dice:

        Gracias no me di cuenta de ese detalle, ya lo copie, pero me sale el mensaje de : El mensaje no se pudo enviar

        Este es mi codigo:

        IsSMTP(); // protocolo de transferencia de correo
        $this->Host = ‘smtp.gmail.com’; // Servidor GMAIL
        $this->Port = 465; //puerto
        $this->SMTPAuth = true; // Habilitar la autenticación SMTP
        $this->Username = $this->unamba2013;
        $this->Password = $this->software2013;
        $this->SMTPSecure = ‘ssl’; //habilita la encriptacion SSL
        //remitente
        $this->From = $this->unamba2013;
        $this->FromName = $this->Tester;
        }

        /**
        * Metodo encargado del envio del e-mail
        */
        public function enviar( $para, $nombre, $titulo , $contenido)
        {
        $this->AddAddress( $para , $nombre ); // Correo y nombre a quien se envia
        $this->WordWrap = 50; // Ajuste de texto
        $this->IsHTML(true); //establece formato HTML para el contenido
        $this->Subject =$titulo;
        $this->Body = $contenido; //contenido con etiquetas HTML
        $this->AltBody = strip_tags($contenido); //Contenido para servidores que no aceptan HTML
        //envio de e-mail y retorno de resultado
        return $this->Send() ;
        }

        }//–> fin clase

        /* == se emplea la clase email == */

        $contenido_html = ‘Hola, me llamo jc-mouse y quiero hacer una pregunta.
        ¿POR QUE QUEREIS MATAR A BIN LADEN, SI "OSAMA" ?
        🙂‘;

        $email = new email();
        if ( $email->enviar( ‘miguelwhm@gmail.com’ , ‘Barack Obama’ , ‘Tengo una pregunta’ , $contenido_html ) )
        echo ‘Mensaje enviado’;
        else
        {
        echo ‘El mensaje no se pudo enviar ‘;
        $email->ErrorInfo;
        }

        ?>

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part...

Webcam Capture es un API  que permite usar una cámara web incorporada o externa directamente desde código Java utilizand...

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

En un post anterior conocimos una herramienta Open Source con un conjunto de herramientas para el trabajo con imágenes e...

Herramientas

Generador de Enlaces a Whatsapp