使用Mailu.io搭建域名邮箱

介绍

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设置的问题

这样看,还是灰常不错哒~

尾声

感谢您看到这,如果有什么问题欢迎留言~