Docker 搭建开源邮件服务器 EwoMail
HDUZN

为什么要用 Docker 装 EwoMail,因为开始试过了,不行。直接装的话,需要 Centos系统,于是服务器直接选了Centos7.6系统。

然后装个git,直接就可以下载EwoMail。然后安装的时候发现装 EwoMail 需要干净的系统,没有安装 mysql、nginx。
然后发现压根不行,这些不管直接的官方系统,还是别的,反正都带了mysql的。

于是,索性直接选个带 Docker的Centos系统,用Docker来装EwoMail,因为发现有这个镜像的。

1、下载(pull)镜像

  • 1).搜索镜像

    1
    docker search ewomail
  • 2).拉取ewomail 镜像(当然可以不搜索,直接拉取下面这个镜像)

    1
    docker pull bestwu/ewomail

docker官方文档上面还有详细的介绍:https://hub.docker.com/r/bestwu/ewomail/

2、构建容器

1).容器配置文件

创建 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mail:
image: bestwu/ewomail
hostname: mail.szxx.fun
container_name: ewomail
restart: always
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
- "109:109"
- "110:110"
- "465:465"
- "995:995"
- "80:80"
- "8080:8080"
- "3307:3306"
volumes:
- `pwd`/ewomail/mysql:/ewomail/mysql/data
- `pwd`/ewomail/vmail:/ewomail/mail
- `pwd`/ewomail/rainloop:/ewomail/www/rainloop/data
- `pwd`/ewomail/ssl/certs/:/etc/ssl/certs/
- `pwd`/ewomail/ssl/private/:/etc/ssl/private/
- `pwd`/ewomail/ssl/dkim/:/ewomail/dkim/
environment:
- "MYSQL_ROOT_PASSWORD=123MYSQL456"
- "MYSQL_MAIL_PASSWORD=111111MYSQL"

可配置参数
MYSQL_ROOT_PASSWORD:mysql数据库root密码,默认:mysql
MYSQL_MAIL_PASSWORD:mysql数据库ewomail密码,默认:123456
URL:网站链接,后面不要加/线
WEBMAIL_URL:邮件系统链接,后面不要加/线
TITLE:用户邮箱标题
COPYRIGHT: 邮箱管理后台网站版权
ICP:邮箱管理后台网站备案号
LANGUAGE:语言选择,默认:zh_CN

2).构建容器

1
docker-compose up -d

注:如果容器启动失败,发现25端口被占用,执行以下命令(被postfix进程占用):

1
systemctl stop postfix

3、关闭10024端口

1).进入容器

1
docker exec -it ewomail bash

2).修改 main.cf 配置文件:

1
vi /etc/postfix/main.cf

注释以下行(在文件最后几行):

1
# content_filter = smtp-amavis:[127.0.0.1]:10024

4、域名解析

1).设置DNS类型

类型 主机 记录值
A mail 127.0.0.1
TXT @ v=spf1 127.0.0.1 -all
CNAME imap mail.stephen520.cn
CNAME smtp mail.stephen520.cn
CNAME pop mail.stephen520.cn
CNAME pop3 mail.stephen520.cn
MX @ mail.stephen520.cn | 10

将 127.0.0.1改为自己的服务器 IP地址;mail.stephen520.cn改为自己的域名对应的

2).设置DKIM

DKIM是电子邮件验证标准,域名密钥识别邮件标准,主要是用来防止被判定为垃圾邮件。
每个域名都需要添加一个dkim的key,EwoMail默认安装后已自动添加主域名dkim,只需要设置好dkim的dns即可。

获取DKIM KEY

1
docker exec ewomail amavisd showkeys

复制输出的信息,打开 http://www.ewomail.com/list-20.html ,整理DKIM,得到:

1
v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+GgBqnWRl/beLZeVBcz+iu8zB1Cl/mNf2rwVgj/qz0lMo+EFrJWtKE4GBbTzGzdkqksqPZ0Vjoh/P5o0YSGSFgr3GmLidAqCAelJ/sP36Kup9vkl4hprlFb0yjtyFVUtB2GOOFpME/JQdQ8exzY4gnt5bt3CbmMMnilPtOMgD5wIDAQAB
类型 主机 记录值
TXT dkim._domainkey v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+GgBqnWRl/beLZeVBcz+iu8zB1Cl/mNf2rwVgj/qz0lMo+EFrJWtKE4GBbTzGzdkqksqPZ0Vjoh/P5o0YSGSFgr3GmLidAqCAelJ/sP36Kup9vkl4hprlFb0yjtyFVUtB2GOOFpME/JQdQ8exzY4gnt5bt3CbmMMnilPtOMgD5wIDAQAB

5、配置安全组

  • 1).在云服务器控制台配置腾讯云安全组,打开以上容器监听的端口,并关闭防火墙。
  • 2).服务器【防火墙】添加规则,允许端口,添加允许3307端口(映射的MySQL端口)

6、完成

以下将 127.0.0.1 改为自己的服务器 IP地址

邮箱管理后台
http://127.0.0.1:8080/
默认账号:admin/ewomail123

Rainloop 管理端
http://127.0.0.1/?admin
默认账号:admin/12345

Rainloop用户端(前端)
http://127.0.0.1/

7、自定义证书

映射路径

1
2
3
/etc/ssl/certs/dovecot.pem
/etc/ssl/private/dovecot.pem
/ewomail/dkim/mail.pem

8、容器相关命令

查看docker容器是否启动:

1
2
docker ps
docker ps -a

进入容器:

1
docker exec -it ewomail /bin/bash
  • 本文标题:Docker 搭建开源邮件服务器 EwoMail
  • 本文作者:HDUZN
  • 创建时间:2022-04-05 20:00:00
  • 本文链接:http://hduzn.cn/2022/04/05/Docker搭建开源邮件服务器 EwoMail/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论