📧 Envía correos gratis con tu cuenta de Gmail

Cualquier cuenta normal de Gmail incluye un servidor SMTP gratuito que tu aplicación (PHP, Python, Node, lo que sea) puede usar para enviar correos reales — confirmaciones de registro, recuperación de contraseña, notificaciones, facturas — sin contratar nada. El límite: hasta 500 destinatarios cada 24 horas por cuenta gratuita.

¿Qué es SMTP?

Simple Mail Transfer Protocol — el protocolo estándar para enviar correo electrónico. Tu app se conecta al servidor SMTP de Gmail (smtp.gmail.com), se autentica y le entrega el mensaje para que Google lo despache.

¿Por qué 500 y no ilimitado?

Gmail está pensado para uso personal, no para envíos masivos. El límite de 500/día (2.000 con Google Workspace) protege la reputación de los servidores de Google contra spam y abuso.

¿Qué necesito?
  • Una cuenta de Gmail
  • Verificación en 2 pasos activada
  • Una contraseña de aplicación
  • PHP + la librería PHPMailer
💡 Dato clave

Desde 2022 Google ya no permite autenticarse con tu contraseña normal ("acceso de apps poco seguras"). El único camino para conectar tu código a Gmail hoy es con una contraseña de aplicación, y esta solo se puede generar si la cuenta tiene activa la verificación en 2 pasos.

Paso 1 — Activar la verificación en dos pasos
  1. Entra a myaccount.google.com/security
  2. Busca "Verificación en dos pasos" y actívala
  3. Confirma con tu celular (SMS, llamada o app Google Authenticator)
  4. Sin este paso, Google no te dejará generar una contraseña de aplicación
Paso 2 — Generar la contraseña de aplicación
  1. Entra a myaccount.google.com/apppasswords
  2. Escribe un nombre que identifique tu app (ej. "Mi sistema PHP")
  3. Clic en "Crear"
  4. Google te muestra una clave de 16 caracteres (ej. abcd efgh ijkl mnop) — cópiala, solo se muestra una vez
  5. Esa clave — no tu contraseña normal — es la que va en tu código
Paso 3 — Instalar PHPMailer (con o sin Composer)

PHPMailer es la librería más usada en PHP para enviar correo por SMTP. Dos formas de tenerla:

// Opción A — con Composer (si lo tienes instalado) composer require phpmailer/phpmailer // Opción B — sin Composer (proyectos PHP nativos, como este) // 1. Descarga el ZIP desde github.com/PHPMailer/PHPMailer // 2. Copia SOLO la carpeta "src/" a tu proyecto, ej: includes/phpmailer/ // 3. Necesitas 3 archivos: PHPMailer.php, SMTP.php y Exception.php
Paso 4 — Código PHP completo para enviar el correo
<?php require 'includes/phpmailer/PHPMailer.php'; require 'includes/phpmailer/SMTP.php'; require 'includes/phpmailer/Exception.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; $mail = new PHPMailer(true); try { // Configuración del servidor SMTP de Gmail $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = 'tu_correo@gmail.com'; $mail->Password = 'abcd efgh ijkl mnop'; // contraseña de aplicación, NO tu clave normal $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = 'UTF-8'; // Remitente y destinatario $mail->setFrom('tu_correo@gmail.com', 'SuAmoblado.com'); $mail->addAddress('destinatario@ejemplo.com', 'Nombre del cliente'); $mail->addReplyTo('contacto@tudominio.com', 'Soporte'); // Contenido $mail->isHTML(true); $mail->Subject = 'Confirmación de tu reserva'; $mail->Body = '<h2>Gracias por tu reserva</h2><p>Te contactaremos pronto.</p>'; $mail->AltBody = 'Gracias por tu reserva. Te contactaremos pronto.'; $mail->send(); echo 'Correo enviado correctamente'; } catch (Exception $e) { echo "No se pudo enviar el correo: {$mail->ErrorInfo}"; }
Límites por tipo de cuenta
Tipo de cuentaLímite diarioCosto
Gmail gratuita (@gmail.com)500 destinatarios / 24 hGratis
Google Workspace (correo con tu dominio)2.000 destinatarios / 24 hDesde ~US$7/mes por usuario
SMTP relay de Workspace (para servidores)10.000 mensajes / 24 hIncluido en Workspace

El límite cuenta destinatarios, no correos: un correo con 3 copias (CC/CCO) descuenta 3 del cupo.

📊 Simulador de tu cuota diaria

Haz clic en "Enviar correo" varias veces y observa qué pasa cuando te acercas al límite de 500. (Es una simulación educativa — no envía correos reales.)

Correos enviados hoy
0 / 500
Listo para enviar. Tu cuota se reinicia cada 24 horas.

⚠️ Riesgos de usar Gmail para enviar correos

Que sea gratis y fácil no significa que sea la mejor idea para producción seria. Cada riesgo tiene su forma de evitarlo.

1. Bloqueo temporal por exceder el límite

Si pasas de 500 destinatarios en 24 h, Google rechaza los envíos siguientes hasta el día siguiente.

✅ Evítalo: cuenta cuántos correos llevas enviados en tu propia BD y detén el envío antes de llegar a 450-480 (deja margen).
2. Suspensión de la cuenta de Gmail

Google puede marcar la cuenta como abuso si detecta patrones de envío masivo/automatizado repetidos — y perderías esa cuenta, no solo el envío.

✅ Evítalo: usa una cuenta dedicada solo para el sistema (no tu correo personal), nunca para marketing masivo ni listas compradas.
3. Contraseña de aplicación expuesta

Si subes la contraseña de aplicación directo en el código a un repositorio o servidor mal protegido, cualquiera puede enviar correos desde tu cuenta.

✅ Evítalo: guárdala en un archivo de configuración fuera del control de versiones (nunca subirlo a Git/FTP público) y con permisos restringidos en el servidor.
4. Tus correos caen en la carpeta de Spam

Gmail SMTP no incluye autenticación de dominio (SPF/DKIM/DMARC) propia — si envías con la dirección genérica de Gmail, la entregabilidad es más débil que con un dominio verificado.

✅ Evítalo: evita asuntos "de spam" (MAYÚSCULAS, exceso de signos), incluye siempre texto plano (AltBody) además de HTML, y pide a tus usuarios que agreguen el remitente a sus contactos.
5. No está pensado para marketing masivo

Enviar newsletters o campañas publicitarias a listas grandes con Gmail SMTP viola los Términos de Servicio de Google (está diseñado para correo transaccional/personal, no bulk mail).

✅ Evítalo: para marketing usa siempre un servicio hecho para eso (Mailchimp, Brevo) — reserva Gmail SMTP para notificaciones puntuales de tu sistema (confirmaciones, recuperación de clave, alertas).
6. Sin control fino de entregabilidad

No sabes si un correo rebotó (bounce) o fue marcado como spam por el destinatario — Gmail SMTP no da webhooks ni estadísticas de entrega como los servicios profesionales.

✅ Evítalo: si necesitas saber qué pasó con cada correo (para cobranza, alertas críticas, etc.), es señal de que ya necesitas un ESP dedicado — ver la siguiente sección.
💡 Regla de oro

Gmail SMTP gratuito es excelente para proyectos pequeños, pruebas y sistemas con bajo volumen (confirmaciones de reserva, recuperación de contraseña, contacto). En el momento en que tu app envía cientos de correos diarios de forma constante, es hora de migrar a un servicio profesional de envío.

🚀 ¿Y si necesito enviar más de 500 correos al día?

Cuando tu proyecto crece, el siguiente paso NO es crear varias cuentas de Gmail para "sumar cupos" (eso viola las políticas de Google y puede terminar en suspensión de todas). El camino correcto es escalar a un servicio hecho para esto.

Opción Plan gratuito aprox. Cuándo usarlo
Google Workspace2.000/día (de pago, no gratis)Ya usas Gmail con tu dominio y necesitas un poco más de cupo, sin cambiar de proveedor
Brevo (ex Sendinblue)~300 correos/día gratisProyectos pequeños/medianos que quieren seguir gratis un tiempo más
SendGridPlan gratuito limitado + planes pagos escalablesCorreo transaccional a mediana/gran escala, buena documentación y API
Amazon SESSin plan gratuito permanente, pero ~US$0,10 por cada 1.000 correosVolumen alto y constante — el más económico por correo enviado
Mailgun / PostmarkPlanes de prueba limitadosEnfoque fuerte en entregabilidad de correo transaccional (facturas, alertas)
Lo que ganas al migrar
  • Límites de miles o millones de correos al día
  • Dominio propio verificado (SPF, DKIM, DMARC) → mejor entregabilidad
  • Estadísticas reales: entregados, abiertos, rebotados, marcados como spam
  • Webhooks para reaccionar en tu app (ej. desactivar un correo que rebota siempre)
  • IP dedicada opcional, sin depender de la reputación compartida de Gmail
Buena noticia: el código casi no cambia

La mayoría de estos servicios también funcionan por SMTP — en PHPMailer solo cambias Host, Username y Password por los datos del nuevo proveedor. La lógica de tu aplicación (a quién le escribes y qué le dices) se mantiene igual.

$mail->Host = 'smtp.sendgrid.net'; // en vez de smtp.gmail.com $mail->Username = 'apikey'; $mail->Password = 'TU_API_KEY_DE_SENDGRID';

📚 Diccionario

SMTP
Protocolo estándar para enviar correo electrónico entre servidores.
Verificación en dos pasos (2FA)
Capa extra de seguridad de Google que exige un segundo factor (celular) además de la contraseña. Requisito para generar contraseñas de aplicación.
Contraseña de aplicación
Clave de 16 caracteres generada por Google para que apps de terceros se conecten sin usar tu contraseña real.
PHPMailer
Librería de PHP más usada para enviar correos vía SMTP, con soporte de HTML, adjuntos y autenticación.
Puerto 587
Puerto estándar para SMTP con cifrado STARTTLS — el que usa Gmail para envío autenticado.
Puerto 465
Puerto alternativo para SMTP sobre SSL/TLS directo (implícito), también soportado por Gmail.
TLS/SSL
Protocolos de cifrado que protegen la conexión entre tu app y el servidor SMTP.
SPF
Registro DNS que declara qué servidores tienen permiso de enviar correo en nombre de tu dominio.
DKIM
Firma digital en el correo que certifica que no fue alterado en tránsito y que salió de un remitente autorizado.
DMARC
Política DNS que le dice a los servidores receptores qué hacer si un correo falla SPF o DKIM (rechazar, poner en spam, etc.).
Reputación de IP
Historial de qué tan "confiable" es una IP para enviar correo, según cuánto spam ha generado en el pasado.
Entregabilidad
Probabilidad real de que un correo llegue a la bandeja principal y no a spam.
Bounce (rebote)
Correo que no pudo entregarse (dirección inexistente, buzón lleno, bloqueo del destinatario).
ESP (Email Service Provider)
Servicio especializado en envío de correo a gran escala (SendGrid, Mailgun, Amazon SES, Brevo).
Rate limit
Límite de cuántas acciones (correos, peticiones) se pueden hacer en un período de tiempo.
"Acceso de apps poco seguras"
Función antigua de Google (ya eliminada) que permitía conectar apps con solo la contraseña normal — reemplazada por las contraseñas de aplicación.
Google Workspace
Versión de pago de Gmail para empresas, con correo en tu propio dominio y límites de envío más altos.
Correo transaccional
Correo automático disparado por una acción del usuario (registro, compra, recuperación de clave) — no marketing.
Warm-up (calentamiento)
Práctica de aumentar gradualmente el volumen de envío desde una IP/dominio nuevo para ganar reputación poco a poco.
Webhook de entrega
Notificación automática que un ESP envía a tu servidor cuando un correo se entrega, rebota o es marcado como spam.

🎬 Videos

1. Enviar Correos Gmail con PHPMailer || PHP

2. Cómo enviar correos electrónicos desde PHP con tu cuenta de Gmail y PHPMailer

3. Cómo crear una contraseña de aplicación en Google (2025) — guía paso a paso

4. Tutorial de SendGrid en español — enviar correos cuando ya no te alcanza Gmail

📝 Cuestionario

10 preguntas aleatorias del banco de 50. Calificación de 0 a 100.