资讯详情

资讯详情

Billion Mail 容器化部署完整指南:4 步跑通自托管邮件营销平台

Billion Mail 容器化部署完整指南4 步跑通自托管邮件营销平台【免费下载链接】BillionMailBillionMail gives you open-source MailServer, NewsLetter, Email Marketing — fully self-hosted, dev-friendly, and free from monthly fees. Join the discord: https://discord.gg/asfXzBUhZr项目地址: https://gitcode.com/GitHub_Trending/bi/BillionMail如果你想在自己的服务器上搭建一套邮件营销平台把发件、联系人管理、数据追踪全部握在自己手里而不是按席位付费给第三方 SaaS那么 Billion Mail 值得纳入选型。它是一个完全自托管的开源方案把邮件服务器、Newsletter 和批量营销整合在一套 Docker 编排里没有月度订阅费。本文按照实际操作顺序带你从环境检查一路走到登录管理台、完成首次域名配置全程只做部署必需的最小操作。一、部署前环境自检清单动手之前先确认这台 Linux 服务器满足以下条件可以省去后面大量排查时间Docker Engine 20.10 以上并安装 Compose v2 插件docker compose version能输出版本号即可Git已安装用于拉取代码root 或 sudo 权限管理脚本 bm.sh 在非 root 用户下会直接退出端口空闲80、443管理台、25/465/587SMTP 收发、143/993IMAP、110/995POP3可用ss -lntp快速确认一个可管理 DNS 的域名后续域名验证和自动签发 SSL 都要用到⚠️ 特别提醒不少云厂商默认封禁 25 端口出站如果服务器出不了 25 端口建议先联系厂商解封或者后续配置 SMTP 中继详见 core/api/relay/ 对应的中继配置能力。二、克隆代码并生成 .env登录服务器后执行最小命令集开始部署git clone https://gitcode.com/GitHub_Trending/bi/BillionMail cd BillionMail cp env_init .envcp env_init .env这一步容易被跳过但它决定了后面所有容器的默认行为。env_init 是一份带注释的默认变量模板重点看这几项ADMIN_USERNAME / ADMIN_PASSWORD管理台默认登录账号默认都是billion登录后建议尽快改掉SafePath管理台的隐藏入口路径访问时要在域名后拼接该路径SMTP_PORT、IMAP_PORT 等端口变量与宿主机端口冲突时在这里改改完保存TZ容器时区国内环境可改为Asia/Shanghai改完.env后不需要其他动作docker-compose.yml 会直接读取这些变量编排出 pgsql、redis、rspamd、dovecot、postfix、webmail、core 七个容器。三、启动服务并验证容器状态docker compose up -d首次运行会拉取全部镜像耗时取决于带宽。启动后做两项验证看容器状态docker compose ps应显示 7 个容器均为Up其中 pgsql、redis 是数据层dovecot 和 postfix 负责协议层core-manage 提供 Web 管理台看默认登录信息执行bm default会输出管理台入口路径和默认账号密码bm help可以列出全部管理命令浏览器访问http://服务器IP/安全入口路径用默认账号登录后第一件该做的事就是修改密码。到这里容器化部署已经完成✅ 服务器上的邮件栈已经处于可收信状态。四、首次登录后的三步配置管理台打开后按下面的顺序完成首次配置整套系统就能对外发信了。第一步添加发信域名。填入你的营销域名设置域名配额GB、邮箱数量上限以及 Catch-All 转发规则用于把未匹配账号的邮件统一导到指定地址。第二步DNS 验证与品牌信息。系统会根据域名生成需要添加的 DNS 记录执行bm show-record可以直接打印这些记录照抄到你的 DNS 服务商处即可。记录生效后AI 会分析该域名并自动生成品牌信息名称、主色、Logo也可以在界面上点击 Create Immediately 手动触发生成后再按品牌调性微调。第三步AI 模型配置可选。如果你希望用 AI 辅助撰写邮件正文或分析数据在设置里选择一家模型服务商填入 API Key 并保存即可界面支持 OpenAI、Gemini、Anthropic、DeepSeek、Kimi、Grok 等多家供应商对应的预设模板存放在 conf/supplier/template/相关逻辑在 core/service/askai/。这一步不影响发信可以之后补配。五、核心功能速览域名跑通之后平台的主要模块可以按「攒人 → 写内容 → 发出去 → 看数据」的链路来理解联系人管理导入名单、分组、打标签对应 core/api/contact/批量发送创建发送任务、设置发送速率、支持个性化变量与退订链接实现在 core/api/batch_mail/邮件模板可视化编辑与复用模板见 core/api/email_template/数据追踪发送量、失败列表等统计在概览页底层采集逻辑在 core/service/maillog_stat/WebMail内置 RoundCube访问/roundcube/即可直接收发该域名的邮箱邮件六、常见坑与排障要点实际部署中最容易卡住的地方基本集中在下面几类容器反复重启先docker compose ps找异常容器再docker compose logs 服务名定位报错多数情况是端口冲突或.env变量写错管理台 404忘了拼接 SafePath 安全入口路径用bm default核对一遍登录被 banconf/core/fail2ban_init/ 下的访问限制规则会对高频失败 IP 生效确认入口地址输对再试DNS 验证不通过bm show-record输出的记录要逐条核对类型TXT/MX/SPF/DKIMTTL 未生效时等 10 分钟再刷新25 端口封禁发信全部 deferred 时优先检查出站 25 端口改用 SMTP 中继配置七、下一步可以做什么平台跑通只是起点建议按这个顺序继续用 e2e/ 目录下的测试脚本对发送、追踪、退订链路做一次完整回归配置 SMTP 中继并开启发件箱预热warmup提升新域名的送达稳定性需要反向代理或嵌入面板路径部署时参考 docs/REVERSE_PROXY.md有更新后用bm update升级日常状态检查依赖bm help列出的管理命令跑通第一封测试邮件、导入第一个联系人分组就是这套系统从「装好了」变成「用起来」的分界线。遇到报错时容器日志永远是第一现场。【免费下载链接】BillionMailBillionMail gives you open-source MailServer, NewsLetter, Email Marketing — fully self-hosted, dev-friendly, and free from monthly fees. Join the discord: https://discord.gg/asfXzBUhZr项目地址: https://gitcode.com/GitHub_Trending/bi/BillionMail创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →