Enviar correos electrónicos desde una aplicación web es una funcionalidad común y esencial. Usar Gmail como servidor SMTP para enviar correos con PHP es una opción debido a su fiabilidad y seguridad.
Requisitos Previos
Para el envío de correos vamos a usar PHPMailer, si no sabes como usarlo puedes leer Como enviar emails con PHP usando PHPMailer. Para empezar se requiere tener:
- Un servidor web con PHP instalado.
- Una cuenta de Gmail.
- Composer instalado en tu sistema para gestionar dependencias.
Configurar Gmail
Para usar Gmail como servidor SMTP se requiere crear un App Password el cual permite autenticarse en Gmail desde aplicaciones externas como PHPMailer.
Los pasos para crear tu App Password son:
- Accede a tu cuenta de Gmail.
- En el ícono de tu perfil selecciona el botón Administrar tu Cuenta de Google.
- En la pantalla para Configurar tu cuenta selecciona el menú Seguridad.
- En la sección Seguridad selecciona la opción Verificación de 2 pasos.
- En la pantalla Verificación en 2 pasos Activa la verificación en 2 pasos.
- En la pantalla Verificación en 2 pasos selecciona Contraseñas de aplicaciones.
- En la pantalla Contraseñas de aplicaciones crea una nueva contraseña.
- Copia la contraseña creada que tiene el formato:
xxxx xxxx xxxx xxxx
Instalar PHPMailer
Para enviar correos electrónicos con Gmail, utilizaremos PHPMailer. En la carpeta de tu proyecto abre el terminarl y ejecuta el siguiente comando:
composer require phpmailer/phpmailer
Configurar PHPMailer
Crea un archivo PHP, por ejemplo gmail.php
y añade el siguiente código para configurar PHPMailer con Gmail:
<?php
// file: gmail.php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once __DIR__ . '/vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// Configure PHPMailer
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
// Configure SMTP Server
$mail->Host = 'smtp.gmail.com';
$mail->Username = 'username@gmail.com';
$mail->Password = 'xxxx xxxx xxxx xxxx';
// Configure Email
$mail->setFrom('username@gmail.com', 'Name');
$mail->addAddress('tousername@domain.com');
$mail->Subject = 'PHPMailer Gmail';
$mail->isHTML(true);
$mail->Body = 'This is the HTML message body in bold!';
// send mail
$mail->Send();
echo 'Message has been sent using Gmail';
} catch (Exception $e) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
En este script hay que notar las siguientes configuraciones:
Host
: Es el servidor SMTP de Gmail:smtp.gmail.com
Username
: Es tu dirección de correo de Gmail.Password
: Es el App Password creado previamente.setFrom()
: Método para definir el remitente, en este caso tu correo.
Recomendaciones
Para el envío de correo con Gmail debes tener en cuenta:
- El remitente debe ser tu correo de Gmail, de lo contrario se considera como Phishing.
- Protege tu script y evita que los usuarios puedan acceder a el directamente.
- Envía sólo correos transaccionales, es decir para notificar alguna acción del usuario.
- Evita enviar correos masivos, si lo haces marcarán tus correos como SPAM.
Conclusión
Enviar correos electrónicos con PHP y Gmail es un proceso sencillo y confiable gracias a PHPMailer, sin embargo debes cuidar de no abusar del envío de correo o serás marcado como SPAM.
Envíar Comentario
En este sitio los comentarios se publican previa aprobación del equipo de Kodetop. Evita los comentarios ofensivos, obscenos o publicitarios. Si deseas publicar código fuente puedes hacerlo entre las etiquedas
<pre></pre>