Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Desarrollo Web / PHP / Envio de correo gmail con PHPMailer

Envio de correo gmail con PHPMailer

Por 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

Artículos similares

Impresión de Interfaz Gráfica de Usuario

En este post veremos como imprimir secciones de un formulario en java implementando la Interface Printable. La clase que[...]

Crea tu JLabel con hipervinculo

Si queremos añadir un enlace web a una aplicación en java, podemos hacer uso de botones o etiquetas, incluso se puede añ[...]

Crea un JButton con sonido para tus aplicaciones

En este post crearemos un botón swing que reproducirá un sonido cuando este sea presionado por el usuario.  Sin mas[...]

Conectar SQL Server con PHP 8.x

Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit[...]

Sub Tablas: Agregar tablas dentro de otras tablas en Java

El JTable de Java es un gran componente para mostrar datos en una tabla de una forma rápida y sencilla, sin embargo en v[...]

Crear ayuda HTML para programa con JavaFX Swing

En este post veremos como crear una aplicación de ayuda al usuario similar al extinto javahelp. Pero en esta oportunidad[...]