使用Mailu.io搭建域名邮箱 – 老兄de博客
介绍
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:[email protected]
安装
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配置获取
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设置的问题
这样看,还是灰常不错哒~
尾声
感谢您看到这,如果有什么问题欢迎留言~