自建docker邮箱服务器-poste

自建docker邮箱服务器-poste

  当你有了自己的域名且不想将邮件挂载在第三方服务商那里,又或者想要同一域名下无限制设置用户,那么拥有属于自己的邮箱服务器十分适合。 你需要做的/知晓的 poste分为免费和付费版,免费版完全可满足个人和小型团队的需求。 有一个独立且干净的ipv4地址的vps服务器(如需发出邮件则需要开通25端口,

  当你有了自己的域名且不想将邮件挂载在第三方服务商那里,又或者想要同一域名下无限制设置用户,那么拥有属于自己的邮箱服务器十分适合。

你需要做的/知晓的

  • poste分为免费和付费版,免费版完全可满足个人和小型团队的需求。

  • 有一个独立且干净的ipv4地址的vps服务器(如需发出邮件则需要开通25端口,请询问你的vps服务器是否支持,仅收取邮件则无需添加25端口的DNS解析)

  • 本文使用的邮箱服务器搭载在docker服务上,注意你是否已安装docker环境,vps配置1核1G配置起步

  • 推荐使用常见的顶级域名如:.com .net .com

  • poste官网为Poste.io ~ complete mail server

准备安装

poste官网配置指南Poste.io documentation

设置域名邮箱DNS

  在域名DNS解析中添加以下规则

类型

名称

内容

A

你想设置的访问地址前缀如:email

你的服务器ipv4地址如:144.144.xxx.xxx

CNAME

imap

email.xxx.com

CNAME

pop

email.xxx.com

CNAME

smtp

email.xxx.com

MX

@

email.xxx.com

TXT

@

"v=spf1 mx a:email.xxx.com ip4:144.144.xxx.xxx ~all"

TXT

_dmarc

"v=DMARC1; p=none; rua=mailto:dmarc-reports@你的域名"

注意!以上email和email.xxx.com和144.144.xxx.xxx请换成你自己的域名和服务器ip

设置PTR反向解析

询问你的vps提供商,并在vps服务商处设置PTR反向解析将IP指向你的域名

使用SSH远程连接服务器配置docker容器

使用以下命令安装docker版poste容器:

docker run -d \
    -p 887:80 -p 8443:443 -p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 \
    -e TZ=Asia/Shanghai \
    -v /data/mail-data:/data \
    --name "mailserver" \
    -h "mail.example.com" \
    --restart=always \
    -t analogic/poste.io

以上内容中,注意修改 -v /data/mail-data:/data \ 改为你需要存放的位置, -h "mail.example.com" \ 修改为你的邮箱服务器域名

887和8443可修改为其他端口

配置nignx服务器进行域名反代

在nignx中配置域名并将域名反代至本地127.0.0.1:887(示例)

提前准备好ssl证书,并在反代nignx设置SSL

访问域名配置邮箱

访问你设置的域名如:"mail.xxx.com:887/admin/"进入邮箱配置

根据提示设置管理员和密码

添加设置域名

在Virtual domains 中添加域名,添加成功后在DKIMkey一栏点击create a new key,生成DKIM DNS record

得到生成的DKIM密钥,进入你的DNS解析域名商处再添加一个TXT解析

类型

名称

内容

TXT

s20240316938._domainkey.11.

k=rsa; p=XXX

以上内容中为示例,请根据你得到的DKIM密钥填写

配置邮箱SSL

点击进入 System settings-TLS certificate

将你准备好的SSL证书内含的PEM和KEY结尾的文件上传到Custom certificate一栏

插入的顺序为:

Private part of certificate 放入KEY结尾的文件

Intermediate certificate 放入PEM结尾的文件

Public part of certificate 放入PEM结尾的文件

设置邮箱用户

在Email accounts中添加用户并设置是否为管理员

测试邮箱是否正常收发

在Server status中可查看各个进程是否正常运行

如果你的服务器支持25端口,可以进入Newsletters spam test by mail-tester.com

发送一封电子邮件来测试邮箱服务器是否配置完全

LICENSED UNDER CC BY-NC-SA 4.0
Comment