Skip to main content

โœ‰๏ธ Email (IMAP / SMTP)

PulseHub uses SMTP to send emails and IMAP to receive them. This means PulseHub works with any email provider that exposes standard IMAP/SMTP access: Gmail, Outlook, Zoho, your own mail server, Mailgun, etc.


Prerequisitesโ€‹

  • An email account with IMAP access enabled
  • SMTP credentials for sending
  • For Gmail: you must create an App Password (not your regular Google password) if 2FA is enabled

Setup Stepsโ€‹

1. Add the Channel in PulseHubโ€‹

Go to Channels โ†’ Add Channel, select Email, and fill in:

FieldDescription
SMTP Hoste.g. smtp.gmail.com, mail.yourdomain.com
SMTP Port587 (STARTTLS) or 465 (SSL)
SMTP UsernameUsually your full email address
SMTP PasswordYour email password or app-specific password
From EmailThe address that appears as the sender (can be an alias)
IMAP Hoste.g. imap.gmail.com, mail.yourdomain.com
IMAP Port993 (SSL, recommended) or 143 (STARTTLS)

2. Configure Cron for Inbound Emailโ€‹

Unlike other channels where providers push webhooks to PulseHub, email works the other way: PulseHub polls your inbox via IMAP every minute using the cron job.

If the imap extension is missing:

  • cPanel: Go to Select PHP Version โ†’ check the imap box โ†’ Save
  • Plesk: Go to PHP Settings โ†’ Extensions โ†’ enable imap
  • VPS: Run sudo apt install php-imap

Gmail Setupโ€‹

  1. Enable IMAP in Gmail Settings โ†’ Forwarding and POP/IMAP โ†’ Enable IMAP
  2. If 2FA is enabled, create an App Password: Google Account โ†’ Security โ†’ App Passwords
  3. Use these settings:
FieldValue
SMTP Hostsmtp.gmail.com
SMTP Port587
IMAP Hostimap.gmail.com
IMAP Port993

Common Issuesโ€‹

SymptomLikely Cause
No emails importedimap extension not loaded, or wrong IMAP credentials
"SSL certificate" errorTry port 143 with /tls instead of /ssl
Sent emails not arrivingmail() not configured on VPS โ€” set up a local MTA
Duplicate message importsDeduplication via external_id = Message-ID prevents true duplicates