Saltar al contenido principal

✉️ 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:

CampoDescripción
SMTP Hostej. smtp.gmail.com, mail.tudominio.com
SMTP Port587 (STARTTLS) o 465 (SSL)
SMTP UsernameGeneralmente tu dirección de email completa
SMTP PasswordTu contraseña de email o contraseña específica de aplicación
From EmailLa dirección que aparece como remitente (puede ser un alias)
IMAP Hostej. imap.gmail.com, mail.tudominio.com
IMAP Port993 (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

  1. Habilita IMAP en Configuración de Gmail → Reenvío y POP/IMAP → Habilitar IMAP
  2. Si tienes 2FA habilitado, crea una Contraseña de Aplicación: Cuenta de Google → Seguridad → Contraseñas de aplicaciones
  3. Usa estos ajustes:
CampoValor
SMTP Hostsmtp.gmail.com
SMTP Port587
IMAP Hostimap.gmail.com
IMAP Port993

Problemas Comunes

SíntomaCausa Probable
No se importan emailsExtensió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 lleganmail() no configurado en VPS — configura un MTA local
Importación de mensajes duplicadosLa deduplicación vía external_id = Message-ID previene duplicados reales