mailu搭建域名邮箱

Mailu是一个简单而功能齐全的邮件服务器,它使用Docker映像启动。它是免费软件,愿意接受建议和外部贡献。该项目旨在为人们提供便捷的设置,易于维护且功能齐全的邮件服务器.

主要的功能

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

安装之前的准备

25端口
首先,你要确保你的服务器开启了25端口

检测方法:

telnet smtp.aol.com 25
正确回响

Trying 67.195.228.102…
Connected to smtp.aol.g03.yahoodns.net.
Escape character is ‘^]’.
220 smtp.mail.yahoo.com ESMTP ready
修改主机名
编辑/etc/hosts

添加

YourServerIP 长主机名 短主机名
之后执行

echo “主机名” > /etc/hostname
hostname -F /etc/hostname
设置DNS
将根域名设置任意一个A记录

将mail.YourDomain(例如mail.moec.top)设置A记录到你的服务器IP

为根域名(moec.top)设置MX记录,指向mail.moec.top

设置SPF:将根域名(moec.top)设置TXT记录为 v=spf1 mx ~all

设置DMARC:将_dmarc.YourDomain(_dmarc.moec.top)设置TXT解析 值为v=DMARC1; p=none; pct=100; rua=mailto:admin@YourDomain

安装

1.安装Docker和Docker Compose
Docker安装:

wget -qO- https://get.docker.com/ | bash
Docker Compose安装:

curl -L “https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2. Mailu配置获取
首先来到https://setup.mailu.io/

Step 1
在第一步中选择Compose, simply using Docker Compose manager

Step 2
在Main mail domain and server display name(主要邮箱域名和服务器显示名称)中应该填写您的根域名

在Linked Website URL中填写邮件服务器主机名

一定要勾选Enable the admin UI (and path to the admin UI)

不然不会安装Web控制页面

Step 3 选择一些功能
Step 3主要是设置一些功能

网页邮箱 杀毒 WebDAV 邮件代收

Enable Web email client (and path to the Web email client)启用Web电子邮件客户端(以及Web电子邮件客户端的路径)

可以选择Roundcube和Rainloop,我建议选择Rainloop,这个根据你的喜好

Step 4 -将Mailu暴露给世界
在IP listen address中填写您服务器的IP地址

Subnet of the docker network. This should not conflict with any networks to which your system is connected. (Internal and external!)是Docker的内网,一般不用管

建议启用Enable unbound resolver (香菇大佬说的

Public hostnames为服务器的长主机名 (mail.moec.top)

Database preferences
数据库选择
支持Sqlite,MySQL和PostgreSQL.

PostgreSQL支持自动部署,而MySQL需要手动部署

按需选择~

3.运行
为Mailu创建文件夹

mkdir /mailu
cd /mailu

然后下载配置文件

直接docker-compose -p mailu up -d运行

4.Enjoy
新建管理员账号
docker-compose -p mailu exec admin flask mailu admin 用户名 域名 密码
Ex:

docker-compose -p mailu exec admin flask mailu admin laoxong moec.top d6ZHZKyq9ivLJ6
之后访问Domain/admin进入管理界面

DKIM
先点击Mail domains之后点击鼠标所指的地方来到域名详细

之后点击Generate keys生成DKIM记录

然后和根据提示配置

用户
点击鼠标所指的地方来到用户管理

然后点击右上角Add User新建

真正的Enjoy
Rainloop设置中文,首先点击左下角的设置,然后选择General,点击Language后面的语言,选择中文

效果
mail-tester测试
得分 :6.9/10

但是不要着急

我们来康康问题出在了哪

1.Similar message reported on Pyzor (http://pyzor.org)

在Pyzor(http://pyzor.org)上报告了类似的消息

这个原因是邮箱的内容是我随便输的

解决了这个问题直接就+2分

2.Delivered to internal network by a host with no rDNS

由没有rDNS的主机传递到内部网络

这个原因是因为我的Rdns设置的问题