iRedMail是一套成熟稳定的邮件服务器系统,它免费,开源且拥有优秀的性能,全面实用的功能。如果你需要搭建一个邮件系统,那么iRedMail是非常值得考虑的。本文介绍在debian11 64 bit操作系统中安装并配置iRedMail邮件服务器系统,注意需要使用纯净系统来安装搭建,此外debian11和ubuntu20.04都是官方推荐的系统。
1、简介
项目:https://github.com/iredmail/iRedMail
官网:https://www.iredmail.org/
下载:https://www.iredmail.org/download.html
2、准备
1)准备好VPS,本教程使用搬瓦工的vps(瓦工套餐选择:https://www.daniao.org/15407.html)
2)搭建iRedMail系统需要至少1.5 GB内存(推荐2 GB及以上)和5 GB硬盘。本教程的vps配置是3核2G内存的瓦工vps
3)想好邮件服务器域名,本文将以mail.4837.us为例。通常,我们会使用mail.example.com或者mx.example.com设置为邮件服务器域名。
4)做好前置的DNS解析。以mail.4837.us为例,具体的DNS设置有如下几条:
5)将mail.4837.us设置A记录,解析值为你邮件服务器的IP地址;
将4837.us设置任意一条A、AAAA、Alias、或者CName Flattening记录,解析值不为空;若不需要用该域名做网站,请设置一条A记录解析到127.0.0.1. 请注意,根域名绝对不能设置CName记录,否则会和MX记录冲突,导致收信掉信严重;
6)将4837.us设置MX记录,解析值为mail.4837.us, 优先级设置为10,当然这些在下文还将提及到。
7)做好rDNS (PTR)记录解析。该操作需要在你的服务器提供商处进行,你需要解析服务器的IP地址,将其解析到的邮件服务器域名mail.4837.us上。这也是为什么本文使用瓦工vps来搭建,因为支持rdns。
8)重装一个全新的debian11 64 bit操作系统。不可以在已经安装有web服务器或者其他类型服务的VPS/独服上安装邮件服务器。
9)做好这些准备之后,我们就可以开始安装iRedMail系统了。
3、测试25端口
1)在安装之前,首先需要确保的VPS的25端口是开放的。我们可以使用以下命令来测试25端口是否开放。
telnet smtp.aol.com 25
2)如果看到类似下面的回显,则说明端口是开放的:
Trying 67.195.228.102... Connected to smtp.aol.com. Escape character is '^]'. 220 smtp.mail.yahoo.com ESMTP ready
如果显示超时,说明25端口不开放;这个时候你需要向主机商申请开放25端口,或者更换一台VPS,当然瓦工的vps默认是开启25端口的。
4、设置主机名
设置好主机名(服务器名, Hostname)是所有邮件服务器必不可少的一步,否则在发信时将会遇到各种错误。
假如你的域名为example.com, 那么推荐使用的主机名为mail.example.com或者mx.example.com。
1)设置主机名需要编辑/etc/hosts文件,一般是有127.0.0.1那个就是你的主机地址,就修改这里即可,如果没有,则添加一行。内容如下:
8.8.8.8 mail.4837.us mail
其中, 8.8.8.8是你的服务器IP地址,后面依次填入长主机名和短主机名,切记不可填反。
2)编辑好后,在SSH中执行:
echo "mail" > /etc/hostname hostname -F /etc/hostname
这样,就设置好了主机名。此时我们检查一下是否设置正确。首先,执行:
hostname
此时我们应该只能看到短主机名mail. 如果你看到了长主机名mail.4837.us 说明之前设置错误,请重新检查上述步骤。然后,执行:
hostname -f
此时,我们应该只能看到长主机名mail.4837.us
5、部署
以上工作都完成后,现在我们开始正式部署!!!!
1)目前iRedMail 的最新版本为1.4.2,iRedMail 最新版下载:点击查看最新版
2)下载安装(注意,如果遇到最新版请自行修改为最新版本)
wget https://github.com/iredmail/iRedMail/archive/1.4.2.tar.gz -O /root/iRedMail.tar.gz tar -xf iRedMail.tar.gz cd iRedMail-1.4.2 chmod +x iRedMail.sh bash iRedMail.sh
3)之后系统将会自动开始安装。安装过程中会出现下面这些情况,需要依次根据自己的信息来设置安装。
4)这里可以保持默认的/var/vmail, 也可以设置为/srv/vmail等等,依个人喜好即可;请勿将其设置在/home目录之内。
5)这里需要选择是否安装Web服务器。如果只是需要客户端收发信,可以不安装web服务器,其他情况下则建议安装Nginx. 按回车键进入下一步。
6)这里选择使用的数据库。我们这里选择比较简单的MariaDB. 用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。
7)这里要为MariaDB设置root用户密码,输入完毕后按回车继续。
8)接下来一步非常重要,我们要设置第一个发信域名。如果你的邮件服务器域名为mail.4837.us 那么这里可以设置为4837.us
9)然后,我们为管理员邮箱设置管理密码。请牢记,若你的域名为example.com, 则管理员邮箱地址为postmaster@example.com.
10)最后一步设置,我们需要选择安装的功能。默认选择Roundcubemail + netdata + iRedAdmin + Fail2ban即可。SOGo实测没有Roundcube好用,但你也可以安装。
11)设置完毕后,屏幕上会列出来这些信息,我们输入y确认安装。其余的步骤一路选择y即可。
12)安装需要大概10分钟左右。全部安装好之后,系统会提示是否设置防火墙规则,我们输入y确认即可。
13)这样,iRedMail就安装好了。在开始配置之前,我们需要重启服务器。
reboot
你需要的登录url系统也会提示你,如下:
* URLs of installed web applications: * - Roundcube webmail: https://mail.4837.us/mail/ * - netdata (monitor): https://mail.4837.us/netdata/ * - Web admin panel (iRedAdmin): https://mail.4837.us/iredadmin/ * You can login to above links with below credential: * - Username: postmaster@4837.us * - Password: www.daniao.rog
6、安装SSL证书
重启完毕之后,所有的服务就开始运行了。此时,服务器所有的TLS/SSL证书全部为自签,因此浏览器访问或者邮件客户端收发信时会收到不信任证书的提示。我们需要获取商业SSL证书。这里,我们将以免费的Let’s Encrypt证书为例配置SSL.
1)这里使用acme来申请证书,申请证书前请先把你的域名指向服务器IP,这里的服务器域名设置为mail.4837.us,以下命令中的域名请自行替换。
~/.acme.sh/acme.sh --register-account -m admin@daniao.org ~/.acme.sh/acme.sh --issue -d mail.4837.us --webroot /var/www/html ~/.acme.sh/acme.sh --installcert -d mail.4837.us --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt
2)重启服务
service postfix reload;service dovecot reload;service nginx reload
7、禁用iRedMail灰名单
灰名单(greylist)是一项防止垃圾邮件的功能,iRedMail默认开启了该功能。但是,该功能开启之后,收所有信件的时候都有较长时间的延迟。因此,我们建议这里将该功能关闭。
1)先给文件提权,使用如下命令:
chmod +w /opt/iredapd/settings.py
2)然后编辑该文件(/opt/iredapd/settings.py),找到下面这行:
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
3)将其中的”greylisting”这项删去即可(注意格式)。然后,重启iredapd, 并且恢复文件权限。
service iredapd restart chmod -w /opt/iredapd/settings.py
8、设置域名DNS及其他
配置好SPF, DMARC, DKIM等记录,可以提高发信到达率与成功率。具体原理就不去深究了,只介绍如何配置。
1)设置rdns也就是这种设置 PTR 反向解析:
瓦工vps的设置: 打开后台管理,在左边选项 Mail contrlos
里面,找到右边的 PTR Records (Reverse DNS)
,点击 set new record
设置即可。
2)SPF记录
这里需要设置一条TXT记录,将根域名(比如我这里的4837.us)解析值设置如下。
v=spf1 mx ~all
3)DMARC记录
DMARC记录的设置比较复杂,我们这里先简单设置一下,对于普通的域名邮箱足够使用了。以4837.us 域名为例,还需要添加一条TXT记录,将_dmarc.4837.us (请不要遗漏dmarc前面的那个下划线)解析值设置为如下:
v=DMARC1; p=none; pct=100; rua=mailto:dmarc@4837.us
4)DKIM记录
配置DKIM记录之前,我们先要生成DKIM密钥。在SSH中执行:
amavisd-new showkeys
会看到类似于下面的密钥:
以域名4837.us为例,在DNS服务提供商那里,添加一条TXT记录,将dkim._domainkey.4837.us解析到“v=DKIM1; p=MIIBIj……………………………………gQIDAQAB”。请注意,你需要删除所有的引号。
5)设置 A 记录,这个在前面说过了,这里在强调下!
将 mail.4837.us
的 A 记录指向你的 VPS 服务器(邮件服务器)
6)最后,全部搞定后的全家福。
9、iRedMail添加用户
本文用的邮件服务器主机名为mail.4837.us, 那么我们访问https://mail.4837.us/iredadmin, 即可进入管理员面板。管理面板的用户名为postmaster@4837.us, 密码为刚刚安装iRedMail时设置的管理员密码。
1)设置中文,登录后,点击右上角的”偏好设置”设置语言为中文等等。
2)添加用户,进入管理面板后,点击Add – User即可新建邮箱用户。
10、邮件测试
1)访问 https://www.mail-tester.com/,来进行邮箱评分。复制网页上面给出的邮箱地址,我们用刚才搭建好的邮件服务器给这个地址发送一封邮件,可以稍微等待下再去测试结果,让以上设置的各种记录生效。
搭建的邮件得分8.2,扣分原因,因为使用了纯数字域名,被扣2分。所以,建议不要用纯数字域名来搭建,这样10分邮箱就没问题了。
2)使用邮箱大师,谷歌邮箱以及谷歌QQ邮箱来测试,效果良好,没进垃圾箱。
11、最后
本文使用的是免费、开源的 iRedMail来搭建,基于debian11,系统是干净的没有安装宝塔等其他。唯一不足的地方就是使用了纯数字域名来搭建,以至于得分少于10分。
需要补充的是这次使用的VPS 是支持 PTR 反向解析的,这一点尤为重要,若是没有 PTR也可以 ,但是会存在丢失邮件的情况。建议使用支持rdns的vps来搭建。
若需要使用客户端来收发信,则smtp, pop, imap地址均为mail.4837.us, 端口是常用的端口(SMTP: 25/587, POP3: 110/995, IMAP: 143/993).
最后补充:使用 iRedMail Easy 平台部署 iRedMail,默认的ssl 证书文件路径:
1)在 RHEL/CentOS 上:
/etc/pki/tls/certs/iRedMail.crt /etc/pki/tls/private/iRedMail.key
2)在 Debian/Ubuntu、FreeBSD 和 OpenBSD 上:
/etc/ssl/certs/iRedMail.crt /etc/ssl/private/iRedMail.key
不清楚xyz域名是否适合,在油管看到有人说仅适合com域名
建议用主流一点的域名,xyz也可以,但是垃圾邮件的几率比较高。
没法子,想去注册个com,发现想要的com被人提前注册了,大概明年2月到期,看看能不能捡个抢注 🙁
如何使用自己的证书?