✉️ 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.com、mail.yourdomain.com |
| SMTP Port | 587(STARTTLS)或 465(SSL) |
| SMTP Username | 通常是您的完整邮箱地址 |
| SMTP Password | 您的邮箱密码或应用专用密码 |
| From Email | 显示为发件人的地址(可以是别名) |
| IMAP Host | 例如 imap.gmail.com、mail.yourdomain.com |
| IMAP Port | 993(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 设置
- 在 Gmail Settings → Forwarding and POP/IMAP → Enable IMAP 中启用 IMAP
- 如果启用了两步验证,创建一个应用专用密码:Google Account → Security → App Passwords
- 使用以下设置:
| 字段 | 值 |
|---|---|
| SMTP Host | smtp.gmail.com |
| SMTP Port | 587 |
| IMAP Host | imap.gmail.com |
| IMAP Port | 993 |
常见问题
| 症状 | 可能原因 |
|---|---|
| 未导入邮件 | imap 扩展未加载或 IMAP 凭据错误 |
| "SSL certificate" 错误 | 尝试使用端口 143 并搭配 /tls 替代 /ssl |
| 发送的邮件未到达 | VPS 上未配置 mail() — 设置本地 MTA |
| 重复导入消息 | 通过 external_id = Message-ID 的去重机制可防止真正的重复 |