×

强烈建议先看在搭建邮箱服务器之前

poste.io 使用docker封装haraka、dovecot、rspamd和clamav等组件搭建邮箱服务器。使用docker可以非常轻松的进行安装,只需要两步。官方DEMO,官方配置文档。当然,你需要先安装docker engine

rspamd是用于过滤spam的组件,如果你有1G的内存,完全足够安装(需要1G左右的swap);但如果你想使用clamav来杀毒,你可能需要2G或者3G的内存。

成功安装poste.io后,在你开始向外发送邮件之前,你还应该进行这些设置。

第一步 编写docker-compose.yml

docker-compose.yml 是一个用于定义和运行多容器 Docker 应用程序的配置文件。它使用 YAML(YAML Ain’t Markup Language)格式编写,允许用户通过单个文件来配置应用服务的所有方面。这个文件通常与 Docker Compose 工具一起使用,后者是一个用于定义和管理多容器 Docker 应用程序的工具。

你需要在一个合理的地方放置这个文件,如:/opt/poste 下,或是其它你不会忘记的地方。

version: '3'

services:
  mailserver:
    image: analogic/poste.io #镜像源位置,如果你有钱可以上pro版
    container_name: postemail #容器名,自定义
    restart: unless-stopped
    ports:              #左边是外部端口,右侧是docker容器的内部端口
      - "580:80"        #修改你想要开放的http端口,如果你没有其它网页服务可以设置为80
      - "5443:443"      #修改你想要开放的https端口,如果你没有其它网页服务可以设置为443
      - "25:25"         #SMTP端口
      - "110:110"       #POP3端口
      - "143:143"       #IMAP端口
      - "465:465"       #SMTP端口
      - "587:587"       #SMTP端口
      - "993:993"       #IMAP端口
      - "995:995"       #POP3端口
    #      - "4190:4190"#远程sieve端口
    environment:
      - HTTPS=OFF       #如果你有反代工具,如nginx,可以设置为OFF
#      - DISABLE_RSPAMD=FLASE #禁用RSPAMD,如果需要取消注释,
      - DISABLE_CLAMAV=TRUE   #禁用CLAMAV,如果你只有1G内存就禁用吧
      - TZ=Asia/Shanghai      #时区设置
      - LETSENCRYPT_EMAIL=Your_email      #acme邮箱账户,如果你已经有证书,可以
      - LETSENCRYPT_HOST=You_Host_name    #不通过docker内申请,并注释这两条
      - VIRTUAL_HOST=                     #虚拟主机名如mail.domain.tld,和上一个最好一样
    volumes:                              #dockers卷设置,左边是外部,右边是docker容器内部,
      - /etc/localtime:/etc/localtime:ro  #ro代表只读
      - ./data:/data                      #将在docker-compose.yml位置处创建data文件夹
      - /www/nginx/html/.well-known:/opt/www/.well-known #如果你需要在poste网页上使用acme生成证书,且你在容器外部
                        #运行着nginx占用80端口,你需要将容器内的.well-known文件夹指向外部nginx使用的文件夹再申请。
                        #有点复杂,建议直接使用下面的证书软连接,或者直接让容器接管80端口
      - /path/to/mail.domain.tld.key:/data/ssl/server.key:ro   #证书密钥地址,可以是fullchain
      - /path/to/gts.cer:/data/ssl/ca.crt:ro                   #CA证书地址
      - /path/to/mail.domain.tld.cer:/data/ssl/server.crt:ro   #证书地址
      #如果你想直接在网页上申请证书,可以注释上面三行

不知道什么原因,当我尝试在网页端导入证书时,总是会报错,但直接在docker-compose.yml中定义证书的链接是可以成功解决的。

在定义volumes链接之前,你应该仔细确认被链接的本机位置是否存在再进行下一步。

第二步 compose up

cd 到含有你刚编写的docker-compose.yml的目标文件夹,如/opt/poste ,运行:

docker compose up

docker engine会自动下载镜像,并为你生成一个容器运行。

安装成功后,你可以通过设定的http端口来访问poste.io进行其它的设置,如邮箱账户的创建,DNSBL设置,但不要立即向外发送邮件测试。

修改容器设置

如果你需要修改docker-compose.yml内的设置,你需要先移除你运行的容器。不用担心数据的丢失,所有文件都储存在外部的data文件夹下,如/opt/poste/data,如果你只后需要迁移邮局,将data文件夹完整移动就可以。

还是在docker-compose.yml所在的目录下运行:

docker compose down

再对docker-compose.yml进行修改,直接对容器进行修改是很麻烦的,修改完后再运行:

docker compose up

为poste.io添加实时DNSBL,和白名单过滤功能

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

Spamhaus数据库

Spamhaus提供了基于DNS的方式查询I...

读出全部

增加wordpress上传大小限制

默认设置下wordpress上传大小限制为2...

读出全部

使用curl命令发送邮件

通过curl来发送简单邮件,并提供了一个脚本...

读出全部

nsupdate使用方法

我们可以使用nsupdate命令来更新域名记...

读出全部

搭建从服务器

如果你有多个服务器,你可以尝试为域名解析搭建...

读出全部