最近去尝试把自己的服务器应用都部署到docker,就尝试把宝塔邮箱去掉改成Poste.io!感觉还听不错的!基本能用到的功能都用到了!
hostname设置
假设host_name为mx.emperinter.info
sudo hostnamectl set-hostname mx.emperinter.info
hostname # 查看是否设置成功
域名解析
255.255.255.255 为服务器IP
主机记录 | 记录类型 | 记录值 |
---|---|---|
mx | A | 255.255.255.255 |
smtp | CNAME | mx.emperinter.info |
pop | CNAME | mx.emperinter.info |
imap | CNAME | mx.emperinter.info |
@ | MX | mx.emperinter.info |
@ | TXT | v=spf1 mx ~all |
s20191223631._domainkey 【先不配置这个,后面生成再配置,记录也是生成的】 | TXT | 后面配置生成,到时候来解析配置! |
开放端口
我用的是centos,我是被端口给绕晕了,自己配置按实际情况配置!这一步骤仅供参考!25端口在阿里云等等是被封禁的,可以尝试去申请试试,我之前尝试没开通!还有是否有安全组等等要打开!
# 安装
yum install firewalld
# 开机启动
systemctl enable firewalld
# 启动
systemctl start firewalld
# 添加端口
firewall-cmd --zone=public --add-port=25/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=110/tcp --permanent
firewall-cmd --zone=public --add-port=143/tcp --permanent
firewall-cmd --zone=public --add-port=587/tcp --permanent
firewall-cmd --zone=public --add-port=993/tcp --permanent
firewall-cmd --zone=public --add-port=995/tcp --permanent
# 重启生效?
firewall-cmd --reload
# 查询是否开启端口
firewall-cmd --query-port=80/tcp
安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo usermod -aG docker your-user #注意替换为你的配置
systemctl restart docker
Poste.io 安装
- 配置数据目录
mkdir /home/mail
- 安装
docker run \
-p 25:25 \
-p 80:80 \
-p 110:110 \
-p 143:143 \
-p 443:443 \
-p 587:587 \
-p 993:993 \
-p 995:995 \
-v /etc/localtime:/etc/localtime:ro \
-v /home/mail:/data \
--name "PosteServer" \
-h "mx.emperinter.info" \
-t analogic/poste.io
- 这两天(2021-05-11)总出问题就更新了一下,发现官方升级了,以往的启动不能后台运行【也有可能不是第一次安装,已经有数据文件导致的,看官网教教程https://poste.io/open差不多还是上面那个启动语句】。下面这个后台倒是运行但不能退出,一退出就只能重启了还好文件不会发生变化,都可以试试,有好的方法欢迎留言。
docker run -d \
--restart always \
-p 25:25 \
-p 80:80 \
-p 110:110 \
-p 143:143 \
-p 443:443 \
-p 587:587 \
-p 993:993 \
-p 995:995 \
-v /etc/localtime:/etc/localtime:ro \
-v /home/mail:/data \
--name "PosteServer" \
-h "mx.emperinter.info" \
-t analogic/poste.io
若遇到端口占用的情况,请注意查杀进程
lsof -i:25
kill -15 process_id
- 安装后启动
docker start PosteServ
配置
创建管理员账户
- 登陆后台
输入你的域名地址
https://mx.emperinter.info
就行!
- 设置管理员账号和密码
其他设置
地址
https://mx.emperinter.info/admin/login
,用你创建的管理员账号和密码登陆!
创建dkim密钥
Virtual domains -> emperinter.info【你的一级域名】
- 点击 create new key,生成key
- 把得到的值放到我们之前说的解析那里【如下】
主机记录 | 记录类型 | 记录值 |
---|---|---|
s20210221288._domainkey | TXT | k=rsa; p=MIIBIjANBgkqhk.........CuXNhz7TwI |
开启SSL
- 注意Common name替换成你的hostname【域名地址】,后面的imap等等填写自己上面配置的!
检测端口是否正常!
依次点击Server status -> Connections Diagnostics即可!
添加用户
邮件界面中文化
登陆普通域名地址
https://mx.emperinter.info
【非admin】配置即可,其他就自己去玩吧!
客户端使用
就说一个SMTP的端口填587,SSL配置
收件服务器【IMAP】
选项 填写 EMAIL 你的邮箱 密码 你的邮箱密码 服务器【Host Name】 mx.emperinter.info 端口【Port Number】 993 Security SSL 寄件服务器【IMAP】
选项 填写 EMAIL 你的邮箱 密码 你的邮箱密码 服务器【Host Name】 mx.emperinter.info 端口【Port Number】 587
Security SSL 【我手机开启连不上,Ipad可以,具体自己选择】
很好的教程,可以写一篇 dirtsimple/poste.io 的教程吗?
再试试吧!我这貌似发过去的邮件被QQ邮箱给拦截了,如果后续还会看这个教程希望换个邮件试试吧!
🤦♂️咋想到用这个东西的呢?https://github.com/dirtsimple/poste.io 这里看了一下就多了IP和插件的配置可选项,貌似要自己配置DockerFile文件,个人用户不建议使用,配置有点麻烦。