✉️ Email (IMAP / SMTP)
PulseHub usa SMTP para enviar emails y IMAP para recibirlos. Esto significa que PulseHub funciona con cualquier proveedor de email que exponga acceso IMAP/SMTP estándar: Gmail, Outlook, Zoho, tu propio servidor de correo, Mailgun, etc.
Requisitos Previos
- Una cuenta de email con acceso IMAP habilitado
- Credenciales SMTP para envío
- Para Gmail: debes crear una Contraseña de Aplicación (no tu contraseña regular de Google) si tienes 2FA habilitado
Pasos de Configuración
1. Agregar el Canal en PulseHub
Ve a Canales → Agregar Canal, selecciona Email, y completa:
| Campo | Descripción |
|---|---|
| SMTP Host | ej. smtp.gmail.com, mail.tudominio.com |
| SMTP Port | 587 (STARTTLS) o 465 (SSL) |
| SMTP Username | Generalmente tu dirección de email completa |
| SMTP Password | Tu contraseña de email o contraseña específica de aplicación |
| From Email | La dirección que aparece como remitente (puede ser un alias) |
| IMAP Host | ej. imap.gmail.com, mail.tudominio.com |
| IMAP Port | 993 (SSL, recomendado) o 143 (STARTTLS) |
2. Configurar Cron para Email Entrante
A diferencia de otros canales donde los proveedores envían webhooks a PulseHub, el email funciona al revés: PulseHub sondea tu bandeja vía IMAP cada minuto usando la tarea cron.
Si falta la extensión imap:
- cPanel: Ve a Select PHP Version → marca la casilla
imap→ Guardar - Plesk: Ve a PHP Settings → Extensiones → habilitar
imap - VPS: Ejecuta
sudo apt install php-imap
Configuración de Gmail
- Habilita IMAP en Configuración de Gmail → Reenvío y POP/IMAP → Habilitar IMAP
- Si tienes 2FA habilitado, crea una Contraseña de Aplicación: Cuenta de Google → Seguridad → Contraseñas de aplicaciones
- Usa estos ajustes:
| Campo | Valor |
|---|---|
| SMTP Host | smtp.gmail.com |
| SMTP Port | 587 |
| IMAP Host | imap.gmail.com |
| IMAP Port | 993 |
Problemas Comunes
| Síntoma | Causa Probable |
|---|---|
| No se importan emails | Extensión imap no cargada, o credenciales IMAP incorrectas |
| Error "SSL certificate" | Prueba el puerto 143 con /tls en lugar de /ssl |
| Los emails enviados no llegan | mail() no configurado en VPS — configura un MTA local |
| Importación de mensajes duplicados | La deduplicación vía external_id = Message-ID previene duplicados reales |