跳到主要内容

✉️ Email (IMAP / SMTP)

PulseHub 使用 SMTP 发送邮件和 IMAP 接收邮件。这意味着 PulseHub 可以与任何提供标准 IMAP/SMTP 访问的邮件提供商配合使用:Gmail、Outlook、Zoho、您自己的邮件服务器、Mailgun 等。


前提条件

  • 一个已启用 IMAP 访问的邮箱账户
  • 用于发送的 SMTP 凭据
  • 对于 Gmail:如果启用了两步验证,您必须创建一个应用专用密码(不是您的常规 Google 密码)

设置步骤

1. 在 PulseHub 中添加频道

前往 Channels → Add Channel,选择 Email,并填写以下内容:

字段描述
SMTP Host例如 smtp.gmail.commail.yourdomain.com
SMTP Port587(STARTTLS)或 465(SSL)
SMTP Username通常是您的完整邮箱地址
SMTP Password您的邮箱密码或应用专用密码
From Email显示为发件人的地址(可以是别名)
IMAP Host例如 imap.gmail.commail.yourdomain.com
IMAP Port993(SSL,推荐)或 143(STARTTLS)

2. 配置 Cron 以接收邮件

与其他由提供商向 PulseHub 推送 webhooks 的频道不同,邮件的工作方式相反:PulseHub 通过 IMAP 每分钟轮询您的收件箱,使用 cron 任务。

如果缺少 imap 扩展:

  • cPanel: 前往 Select PHP Version → 勾选 imap → 保存
  • Plesk: 前往 PHP Settings → Extensions → 启用 imap
  • VPS: 运行 sudo apt install php-imap

Gmail 设置

  1. 在 Gmail Settings → Forwarding and POP/IMAP → Enable IMAP 中启用 IMAP
  2. 如果启用了两步验证,创建一个应用专用密码:Google Account → Security → App Passwords
  3. 使用以下设置:
字段
SMTP Hostsmtp.gmail.com
SMTP Port587
IMAP Hostimap.gmail.com
IMAP Port993

常见问题

症状可能原因
未导入邮件imap 扩展未加载或 IMAP 凭据错误
"SSL certificate" 错误尝试使用端口 143 并搭配 /tls 替代 /ssl
发送的邮件未到达VPS 上未配置 mail() — 设置本地 MTA
重复导入消息通过 external_id = Message-ID 的去重机制可防止真正的重复