你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现

你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现

一、部署前提

坚持分享,明天周末休息了,但是想到今天还没有完成分享,但是还是偷懒了😂,从笔记看到段端时间部署的邮件服务器。看到还算完整就分享给大家了。

  1. 一个域名
  2. 一个开25端口(最低配置2H2G)的公网IP可访问的服务器。推荐2.5G 以上为什么?可以看完再去购买服务器
  3. 建议服务器安装debian 11 ,一下部署笔记系统的就是debian 11

😁那么废话也不多说,我们直接开始。

二、正确安装 Docker CE

tips:Debian 11 官方源

1. 安装依赖工具

tip:你大部分已经装了,再执行一遍没问题,如报错404 apt source 更新。

apt update
apt install -y ca-certificates curl gnupg lsb-release

2. 添加 Docker GPG key

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg \
  | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg

3. 添加 Debian 的 Docker 源

tip:注意这里是 debian 不是 ubuntu。

. /etc/os-release
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/debian \
  ${VERSION_CODENAME} stable" \
  > /etc/apt/sources.list.d/docker.list

你这里 ${VERSION_CODENAME} 就是 bullseye

4. 更新并安装 Docker

apt update
apt install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

如果这里再报错,把那几行错误贴出来;正常情况下应该能装上。

5. 验证 Docker

systemctl enable --now docker
docker version
docker run --rm hello-world

看到 hello-world 输出一段欢迎信息就说明 Docker 没问题了。

后续用 docker compose 命令(不是老的 docker-compose),因为我们装的是 plugin 版。

三、部署 mailcow-dockerized

1. 准备目录 & 克隆项目

建议直接放在 /opt 下面:

cd /opt
git clone https://github.com/mailcow/mailcow-dockerized.git
cd mailcow-dockerized

如果提示 git 没安装:

apt install -y git
cd /opt/mailcow-dockerized

2. 生成 mailcow 配置

tips:自动生成 docker-compose.yml

执行官方脚本:

./generate_config.sh

它会问你:

– 主机名(Hostname):
这里输入你准备好的邮件主机名,例如:

mail.example.com
– 时区可以填写 UTC 后面再改 或者直接填写 Asia/Shanghai

如果部署服务器内存小于2.5G clamAV防病毒无所谓ClamAV

更新选项推荐第一个更新选项

脚本跑完当前目录会多出:

  • mailcow.conf
  • docker-compose.yml
  • data/ 等目录

docker-compose.yml 用脚本生成的就好,不要自己重写。

四、编辑 mailcow.conf

tips::关键配置

打开:

nano mailcow.conf

重点几个配置检查 / 修改:

# 你的完整主机名,要和 DNS 里的 A 记录一致
MAILCOW_HOSTNAME=mail.exmaple.com
# 时区
TZ=Asia/Shanghai   # 如果你习惯别的时区也可以改
# 是否用 Let's Encrypt 申请证书
# 有公网 80/443 且 DNS 指向正确,就用 n(即使用)
SKIP_LETS_ENCRYPT=n
# HTTP / HTTPS 端口(一般保持默认)
HTTP_PORT=80
HTTP_BIND=0.0.0.0
HTTPS_PORT=443
HTTPS_BIND=0.0.0.0

其余 DBNAME / DBUSER / DBPASS 默认即可,有特殊需求再改。
改完 Ctrl+O 保存,Ctrl+X 退出。

五、启动 mailcow

在 /opt/mailcow-dockerized 目录下执行:

docker compose pull        # 拉取所有镜像
docker compose up -d       # 后台启动

pull 和第一次 up -d 过程会比较长,让它执行完即可。

然后查看状态:

docker compose ps

你应该看到一堆 *_mailcow 容器,State 为 running

六、访问管理后台

1. 浏览器访问

在浏览器里打开:

https://mail.example.com

前提:你在 Cloudflare 里已经:

  • mail A 记录指向这台 Vultr 的 IP,并且是 仅 DNS(灰云)

  • MX 已经改成 example.com MX 10 mail.example.com

2. 默认账号密码

  • 用户名:admin

  • 密码:moohoo

登录后第一件事:修改 admin 密码。管理员登录入口在下方

图片[1]-你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现-寻找资源网

登录之后可以修改管理员的名称和密码了。

创建域名邮箱,先添加域名

图片[2]-你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现-寻找资源网

直接填写根域名,如 example.com,保存即可。

图片[3]-你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现-寻找资源网

然后就可以去创建邮箱了。

图片[4]-你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现-寻找资源网

按照提示填写,直接填写创建即可。如图创建的邮箱地址就是 admin@example.com

图片[5]-你也想要一个自己的域名邮箱吗?实现邮箱自由吗?MailCow Docker部署简单实现-寻找资源网

域名是可选的,因为mailcow可以添加多个域名,每个域名可以创建多个邮箱,所以理论上邮箱能一直创建下去,但是服务器要能支撑住,想要放多个域名,创建更多域名邮箱的小伙伴可以选择配置高一些的服务器。

好了mailcow已经部署完成了,更多内容请小伙伴自行探索,以上内容仅供学习参考。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
相关推荐
评论 抢沙发

请登录后发表评论

    暂无评论内容