zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

listmonk:优秀的开源自托管邮件营销平台Docker安装教程

意外富翁的头像
|
|
|
111 正在寻找一款强大、免费且能完全掌控数据的邮件营销工具?Listmonk 是一款高性能的开源自托管通讯(Newsletter)和邮件列表管理器。告别昂贵的月费,立即部署您的专属邮件平台。 ## **Listmonk 是什么?** **Listmonk** 是一款现代、功能强大的**开源自托管邮件营销平台**。与 Mailchimp、Sendinblue 等云服务不同,Listmonk 是完全免费的软件,您可以将其部署在自己的服务器上。这意味着您对订阅者数据、邮件列表和营销活动拥有 100% 的控制权,无需按订阅人数或邮件发送量支付昂贵的月费。 它采用 Go 语言和 PostgreSQL 数据库构建,打包成一个轻量、高效的独立二进制文件,确保了极高的性能和简便的部署。 ## **为什么选择 Listmonk?核心优势概览** 对于开发者、技术型营销人员和任何希望摆脱商业邮件服务束缚的组织而言,Listmonk 提供了无可比拟的优势。 * **完全免费与开源**:Listmonk 遵循 AGPLv3 许可证,无任何隐藏费用。您可以自由地使用、审查、修改和分发该软件。 * **数据归您所有 (Data Ownership)**:通过自托管,所有订阅者信息和营销数据都存储在您自己的基础设施上,彻底解决了数据隐私和第三方数据滥用的担忧。 * **极具成本效益 (Cost-Effective)**:您唯一的开销是服务器和邮件发送服务(如 Amazon SES, SendGrid, Mailgun 等 SMTP 中继)的费用,这通常远低于商业 SaaS 工具的订阅费,尤其是在订阅列表规模庞大时。 * **高性能与高效率**:基于 Go 语言的并发特性,Listmonk 能以极低的资源占用高效处理数百万级别的订阅者和邮件发送任务。 * **强大的API支持**:Listmonk 采用 API 优先的设计理念,其所有功能都通过清晰的 RESTful API 暴露,极易与您的网站、CRM 或其他系统进行深度集成。 ## **Listmonk 的主要功能** Listmonk 不仅是 Mailchimp 的免费替代品,它还提供了一整套专业级的邮件营销功能: | 功能模块 | 详细说明 | | :--- | :--- | | **订阅者管理** | 支持列表分段、自定义字段、批量导入导出以及订阅者状态管理(已确认、未确认、已退订)。 | | **邮件活动 (Campaigns)** | 可视化编辑器与Markdown支持,允许您轻松创建、排程和发送精美的邮件通讯。 | | **自动化与事务性邮件** | 通过强大的模板语言,您可以发送由API触发的事务性邮件,如欢迎邮件、密码重置、订单确认等。 | | **性能分析与追踪** | 内置仪表盘提供关键指标的实时追踪,包括打开率、点击率、退订率等,帮助您优化营销策略。 | | **模板管理** | 可重复使用的邮件模板库,支持复杂的逻辑判断和变量替换,实现高度个性化的邮件内容。 | ## **谁最适合使用 Listmonk?** * **开发者与技术爱好者**:希望对自己的工具栈有完全控制,并享受定制和集成乐趣的人。 * **中小型企业**:希望以极低成本运行专业邮件营销,同时保障数据安全的企业。 * **拥有大型邮件列表的组织**:当订阅者数量超过数万时,商业工具的费用会急剧上升,自托管的 Listmonk 能为您节省巨额开销。 * **注重隐私的个人与非营利组织**:不希望将用户数据托管在第三方商业平台的用户。 ## **如何开始使用 Listmonk** 部署Listmonk非常灵活,最常见的方式是: 1. **使用 Docker(推荐)**:官方提供随时可用的 Docker 镜像,只需简单的 `docker-compose` 命令即可在几分钟内启动并运行一个完整的实例。 2. **二进制文件部署**:直接从 GitHub Releases 页面下载对应您操作系统的二进制文件,搭配 PostgreSQL 数据库即可手动部署。 ## **Docker 安装 Listmonk** 官方文档介绍的是用 docker-compose 安装,默认配置也将安装 Postgres DB,Postgres 是必须的,许多 Docker 项目都依赖 Postgres 数据库,所以建议独立安装 Postgres,让许多服务连接同一个数据库容器,以下教程也是在已经有 Postgres 服务的基础上安装 Listmonk,如果你想要安装 Listmonk 和 Postgres,可以使用官方的命令一键安装 官方一键安装命令: ``` # Download the compose file to the current directory. curl -LO https://github.com/knadh/listmonk/raw/master/docker-compose.yml # Run the services in the background. docker compose up -d ``` 使用已有数据库安装与官方文档不同的是,需要先将数据库初始化——导入表结构和一些demo数据。 首先需要创建 listmonk 目录,并在目录下创建配置文件 `config.toml` ``` [app] # 默认localhost,Docker网桥方式部署则侦听'0.0.0.0'地址 address = "0.0.0.0:9000" # 管理仪表板的BasicAuth认证。留空的话将禁用管理员的认证。 admin_username = "" admin_password = "" # Database. [db] host = "172.17.0.1" port = 5432 user = "user" password = "password" # 确保该数据库已在 Postgres 中创建。 database = "listmonk" ssl_mode = "disable" max_open = 10 max_idle = 10 max_lifetime = "300s" ``` 然后,根据配置创建一个临时 listmonk 容器以生成数据库初始数据(这一步是必须的否则报错): ``` docker run -it -v /data/listmonk/config.toml:/listmonk/config.toml:ro --rm listmonk/listmonk:latest ./listmonk --install 注:/data/listmonk/config.toml 是上一步创建的配置文件路径 ``` 控制台将提示是否擦除数据库数据?输入 y 并回车确认。 ![image.png](https://cdn.c2v2.com/imgur/OTaPBtj.png) 安装正式容器: ``` docker run -d --restart always --name listmonk \ -v /data/listmonk/config.toml:/listmonk/config.toml:ro \ -v /data/listmonk/uploads:/listmonk/uploads \ -p 9000:9000 \ listmonk/listmonk:latest ``` 也可以使用 docker-compose ``` version: '3.8' services: listmonk: image: listmonk/listmonk:latest container_name: listmonk restart: on-failure ports: - "9000:9000" volumes: - /data/listmonk/config.toml:/listmonk/config.toml:ro - /data/listmonk/uploads:/listmonk/uploads ``` 局域网内访问设备IP:9000即可访问管理面板,外网环境下需要分别启用端口映射和https反向代理。 via:https://nigzu.com/listmonk-newsletter/

▲ 赞同(0)    ★ 收藏(0)