搬瓦工部署 Plunk 邮件平台教程

Plunk 是一款开源的邮件平台,提供事务邮件和营销邮件两大功能。它拥有简洁现代的界面,内置了邮件模板编辑器、联系人管理、自动化工作流和邮件分析等功能。Plunk 可以作为 SendGrid、Mailchimp 等商业邮件服务的自托管替代品,让你完全掌控邮件基础设施。本文将介绍如何在搬瓦工 VPS 上部署 Plunk。部署前请确保已安装 Docker 和 Docker Compose

一、Plunk 核心功能

  • 事务邮件 API:通过 REST API 发送注册确认、密码重置等事务邮件。
  • 营销邮件:创建和发送批量营销邮件。
  • 模板编辑器:可视化邮件模板编辑器,支持变量替换。
  • 联系人管理:管理订阅者列表,支持标签和分组。
  • 自动化:基于事件触发的邮件自动化工作流。
  • 分析统计:追踪邮件打开率、点击率和退订率。

二、系统要求

  • 操作系统:Ubuntu 20.04+ 或 Debian 11+。
  • 内存:至少 1GB,推荐 2GB。
  • 磁盘:至少 5GB 可用空间。
  • Docker:已安装 Docker 和 Docker Compose。
  • SMTP 服务:需要一个可用的 SMTP 服务(如 Amazon SES、Mailgun 等)。

搬瓦工 VPS 方案推荐参考 全部方案,购买时使用优惠码 NODESEEK2026 可享 6.77% 折扣,购买入口:bwh81.net

三、创建项目目录

mkdir -p /opt/plunk && cd /opt/plunk

四、创建环境变量文件

cat > /opt/plunk/.env <<'EOF'
DATABASE_URL=postgresql://plunk:your_db_password@plunk-db:5432/plunk
REDIS_URL=redis://plunk-redis:6379
SECRET=your_secret_key_here
JWT_SECRET=your_jwt_secret_here
APP_URI=https://your_domain.com
API_URI=https://your_domain.com/api
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_SES_CONFIGURATION_SET=plunk
DISABLE_SIGN_UP=false
EOF

生成密钥:

openssl rand -hex 32
openssl rand -hex 32

五、编写 Docker Compose 配置

cat > /opt/plunk/docker-compose.yml <<'EOF'
version: '3.8'

services:
  plunk-db:
    image: postgres:15
    restart: always
    environment:
      POSTGRES_DB: plunk
      POSTGRES_USER: plunk
      POSTGRES_PASSWORD: your_db_password
    volumes:
      - plunk_db_data:/var/lib/postgresql/data

  plunk-redis:
    image: redis:7-alpine
    restart: always

  plunk:
    image: driaug/plunk:latest
    restart: always
    ports:
      - "3000:3000"
    env_file: .env
    depends_on:
      - plunk-db
      - plunk-redis

volumes:
  plunk_db_data:
EOF

六、启动服务

cd /opt/plunk
docker compose up -d

访问 http://your_server_ip:3000,注册管理员账户。

七、配置 SMTP 发送

Plunk 支持 Amazon SES 和自定义 SMTP。如果使用自定义 SMTP,在环境变量中配置:

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_smtp_user
SMTP_PASSWORD=your_smtp_password
SMTP_FROM=noreply@your_domain.com

注意:许多 VPS 提供商默认封锁 25 端口,建议使用 587 或 465 端口。使用第三方 SMTP 服务(如 Amazon SES、Mailgun、Postmark)可获得更好的送达率。

八、使用事务邮件 API

在控制台中创建 API Key 后,通过 REST API 发送事务邮件:

curl -X POST https://your_domain.com/api/v1/send \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_key" \
  -d '{
    "to": "user@example.com",
    "subject": "欢迎注册",
    "body": "<h1>欢迎加入我们</h1><p>您的账户已创建成功。</p>"
  }'

九、配置反向代理

cat > /etc/nginx/sites-available/plunk <<'EOF'
server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -s /etc/nginx/sites-available/plunk /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d your_domain.com

十、创建邮件模板

在 Plunk 控制台的 Templates 页面,使用可视化编辑器创建邮件模板。模板支持变量语法,在发送时动态替换内容。

十一、常见问题

邮件发送失败

检查 SMTP 配置是否正确,查看容器日志获取详细错误信息:

docker compose logs plunk

邮件被标记为垃圾邮件

配置发送域名的 SPF、DKIM 和 DMARC 记录,使用受信任的 SMTP 服务提供商。

总结

Plunk 是一款简洁实用的开源邮件平台,特别适合需要事务邮件 API 和基础营销邮件功能的中小项目。通过自托管你可以完全掌控邮件数据和发送成本。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。