Enviar Emails con la libreria PHPMailer y configurar Gmail


Enviar emails automáticamente es muy útil para ciertos desarrollos de sistemas o aplicaciones que lo requieren, como notificar accesos, nuevos suscriptores, nuevos comentarios, etc, para ello usaremos la librería PHPmailer.

En este articulo les mostrare como enviar correos con PHP y la librería PHPMailer al final de este articulo les dejare un paquete de descarga con la librería + el código para enviar mensajes via email.

Librería PHP Mailer

La librería PHPMailer lo podemos obtener en el repositorio de Github https://github.com/PHPMailer/PHPMailer consta básicamente de 3 archivos : class.phpmailer.php, class.smtp.php, class.pop3.php, entre otros.

Con la librería nos podemos conectar a cualquier servidor de correos, con un usuario y password que son los datos de la cuenta de correos y enviar correos a uno o varios destinatarios.

La librería facilita muchas cosas como el envió masivo, adjuntar archivos, entre otras cosas.

Codigo para enviar correos

El código para mostrarlo aquí utilizare un gist de Github, por cierto siganme en Github https://github.com/evilnapsis/:


<?php
include "class.phpmailer.php";
include "class.smtp.php";
$email_user = "TU_EMAIL";
$email_password = "TU_PASSWORD";
$the_subject = "Phpmailer prueba by Evilnapsis.com";
$address_to = "evilnapsis@gmail.com";
$from_name = "Evilnapsis";
$phpmailer = new PHPMailer();
// ———- datos de la cuenta de Gmail ——————————-
$phpmailer->Username = $email_user;
$phpmailer->Password = $email_password;
//———————————————————————–
// $phpmailer->SMTPDebug = 1;
$phpmailer->SMTPSecure = 'ssl';
$phpmailer->Host = "smtp.gmail.com"; // GMail
$phpmailer->Port = 465;
$phpmailer->IsSMTP(); // use SMTP
$phpmailer->SMTPAuth = true;
$phpmailer->setFrom($phpmailer->Username,$from_name);
$phpmailer->AddAddress($address_to); // recipients email
$phpmailer->Subject = $the_subject;
$phpmailer->Body .="<h1 style='color:#3498db;'>Hola Mundo!</h1>";
$phpmailer->Body .= "<p>Mensaje personalizado</p>";
$phpmailer->Body .= "<p>Fecha y Hora: ".date("d-m-Y h:i:s")."</p>";
$phpmailer->IsHTML(true);
$phpmailer->Send();
?>

view raw

send.php

hosted with ❤ by GitHub

Como puedes ver el código es muy simple 😉 te explico a continuación las lineas mas importantes:

  • Lineas 2 y 3: Incluir los archivos de la librería class.phpmailer.php y class.smtp.php
  • Lineas 5 y 6: debes agregar los datos de acceso para la cuenta de Gmail de la que se enviaran los correos, los datos se usan en la linea 13 y 14.
  • Linea 7: El asunto del correo se usa hasta la linea 26
  • Linea 8: El correo del destinatario se usa hasta la linea 24, en este caso puse mi correo pero cuando hagan sus pruebas por favor cambien este valor
  • Linea 9: El nombre de la persona o aplicación que envía el correo
  • Linea 16: El smtpdebug sirve para saber el status del correo, en caso de dar algún error se muestra el error, esta linea esta comentada pero de ser necesario se puede descomentar
  • Linea 17-21: Se configura el envió vía SMTP, host, puerto, etc.
  • Linea 23: Se asignan los valores de quien envía el correo, en esta linea asigne los mismos valores de la cuenta que envía el correo, pero se pueden cambiar los datos.
  • Linea 24: Se agrega el destinatario, esta linea se puede repetir varia veces en caso de que se requiera agregar varios destinatarios del mismo correo.
  • Linea 26: Se asigna el asunto del correo
  • Linea 27-29: Se crea y asigna el cuerpo del mensaje
  • Linea 30: Ponemos que el correo tiene contenido HTML
  • Linea 32: Enviamos el correo

Conexión a Gmail

Para este ejemplo utilizo el servidor de Gmail, ya que a mi parecer es uno de los servidores muy confiables, pero dependiendo de la cuenta que tengamos hay que hacer algunos ajustes, ya que por seguridad Google bloquea los accesos a las cuentas y envía un correo de notificación como este:

Entonces lo que debemos hacer es permitir el acceso a aplicaciones menos seguras.

Y listo, ahora podemos enviar correos desde nuestra mini aplicación para enviar correos.

Resultado

Si todo ha salido bien,  se envía el correo y como en este caso me envie el correo a una cuenta mia, puedo ver el resultado:

Descarga

Ahora te dejo el paquete de descarga a continuación:

[sociallocker]

Link de descarga: https://drive.google.com/open?id=0B4VwLG0Dpi3tcWJ1ay1taWhncVk

[/sociallocker]

Conclusión

Como puedes ver enviar correos usando la librería PHPMailer y una cuenta de Gmail es relativamente fácil, ahora con te toca a ti darle una aplicación especial a este articulo.

Cuéntame en los comentarios que tal te pareció este articulo, te fue útil?? También te invito a que te suscribas a mi Blog y a mi canal de Youtube https://youtube.com/evilnapsis.


Leave a comment

10 thoughts on “Enviar Emails con la libreria PHPMailer y configurar Gmail