Mailu.io是一个优秀的开源邮件服务器,项目地址 https://github.com/mailu/mailu ,使用docker启动,占用低(1H1G的配置完全够用),完全免费,易于搭建、迁移,支持Sqlite,自用数据不多的话无需Mysql等数据库。


主要的功能:

  • 基本的邮件服务器:支持IMAP+SMTP
  • 进阶电子邮件功能:别名,域别名,自定义路由等
  • Web访问:多个Webmail管理界面
  • 用户功能:别名,自动回复,自动转发,获取帐户
  • 管理员功能:全局管理员,公告,每域配额
  • 安全:强制启用TLS,利用Letsencrypt自动配置ssl证书,DKIM,防病毒扫描程序
  • 反垃圾邮件:自主学习灰名单DMARC和SPF

1.挑选IP以及域名

为了防止垃圾邮件的大量产生,一般的VPS服务商是不允许搭建邮件服务器的,已知可以搭建的有:DigitalOcean、Vultr、OVH等,小编的邮件服务器搭建在OVH上面;
并且即使服务商允许搭建邮件服务器,服务器IP或者域名进入黑名单过也不行,轻则进垃圾箱,重则被各大机构拒收;
所以挑选一个好的服务商是重中之重。
DigitalOcean注册地址:https://m.do.co/c/76209bc8b100 (注册即可获得100刀的额度,可使用60天)

可以在这个网站进行检测是否被列入黑名单:mxtoolbox.com

2.开启端口和修改主机名

(1)检测25端口

检测方法:

1
2
apt install telnet -y
telnet smtp.aol.com 25

正确回响:

1
2
3
4
Trying 67.195.228.102...
Connected to smtp.aol.g03.yahoodns.net.
Escape character is '^]'.
220 smtp.mail.yahoo.com ESMTP ready

(2)修改主机名

1
2
echo "主机名" > /etc/hostname
hostname -F /etc/hostname

主机名建议设置为mail.YourDomain

编辑/etc/hosts
添加YourServerIP mail.YourDomain YourDomain mail

3.添加DNS解析记录

将根域名设置任意一个A记录,
mail.YourDomain设置A记录解析到你的服务器IP,
为根域名(YourDomain)设置MX记录,指向mail.YourDomain

4.安装docker和docker-compose

安装docker:

1
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && docker --version && systemctl start docker && systemctl enable docker && systemctl restart docker

安装docker-compose:

1
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose && docker-compose --version

5.配置Mailu

进入setup.mailu.io,根据如下图配置:

Step 1 - Pick a flavor

[1675417200653.png](javascript:;)

Step 2 - Initial configuration

[1675417488432.png](javascript:;)

Step 3 - Pick some features and Step 4 - expose Mailu to the world

[1675417612330.png](javascript:;)

关于数据库:
支持Sqlite,MySQL和PostgreSQL
PostgreSQL支持自动部署,而MySQL需要手动部署。
个人使用建议Sqlite,大规模使用建议PostgreSQL
配置完成后点击Setup Mailu

6.启动Mailu

根据网站上的进行操作

第 1 步 - 下载您的配置文件

1
2
3
4
5
#示例
mkdir /mailu
cd /mailu
wget https://setup.mailu.io/1.9/file/333xx-020e-xxxx-xxxx-b9377xxx2/docker-compose.yml
wget https://setup.mailu.io/1.9/file/333xx-020e-xxxx-xxxx-b9377xxx2/mailu.env

第 2 步 - 启动 Compose 项目

1
docker-compose -p mailu up -d

第 3 步 - 创建管理员账户

1
docker-compose -p mailu exec admin flask mailu admin admin YourDomain PASSWORD

完成后,打开浏览器进入https://mail.YourDomain/admin

7.配置解析记录

[1675432284589.png](javascript:;)

[1675432367493.png](javascript:;)

[1675432419643.png](javascript:;)

将解析记录逐条添加:(更简单的方法是全部复制下来放在一个txt文件中导入解析记录)
[1675432540775.png](javascript:;)
这一步非常重要,配置错误可能会导致邮件可以发出去但会被拒收或者进垃圾箱。请认真填写!
Enjoy!