服务器测评网
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告

如何自建域名邮箱:使用iredmail自建邮箱服务器教程

广告
广告

1. 搭建前的准备

1.1 准备符合要求的 vps

搭建邮箱,需要准备好

  • 一个顶级域名
  • 一个符合下述要求的 vps
    • 商家开放 25 端口
    • 商家支持 rdns
    • 内存尽量 4GB+
    • IP 尽量干净

25 端口 可以使用命令测试

apt install telnet -y
telnet mx2.qq.com 25

如果能够看到

66dd01916bcf1
25 端口测试

就说明端口是开放的

25 端口必须是可用的,如果上一步测试你测试结果为超时,那么你是无法发信的
有的商家只屏蔽 25 端口出方向,有的商家是全屏蔽。全屏蔽的 vps 无法作为邮件服务器使用,屏蔽出方向的只能收信无法发信

rdns 一般在商家的控制面板里设置,如果找不到,一般就是不支持

设置完成后,利用 nslookup 命令来检查

如果需要在 linux 下使用,需要安装

 apt install dnsutils -y

执行

nslookup YOUR_IP

就可以看到类似于下图的效果

66dd052b000bb
rdns 查询
rdns 必须支持并且正确设置,否则很多邮箱会直接拒收,比如 Google

至于 IP纯净度 , 这是一个很难评判的问题,但纯净的 IP 肯定是更好的,同样搭建的邮箱发同样的内容,有的 IP 发信直达收件箱,有的直达垃圾箱。

网上测试 IP纯净度 的网站不少,不过仅作参考

1.2 解析域名

首先添加 MX记录 , 指向你的邮件服务器 IP

66dd07d27b249
添加 MX 记录

然后添加 A记录 /AAAA记录,给自己的邮箱网站一个子域名,例如 mail.example.com

66dd089b15f66
添加 A 记录

1.3 更改 hosts 文件

编辑 hosts

nano /etc/hosts

将内容改为

127.0.0.1 mail.example.com mail localhost localhost.localdomain
注意:将 mail.example.com 改为你自己的域名!

1.4 修改主机名

将主机名修改为 mail.example.com

sudo hostnamectl set-hostname mail.example.com

修改完后建议重启,上述步骤如果不正确无法进行后续安装

66dd0bb9e3a9b
无法继续安装

如果重启后发现 hosts 被还原了,建议直接 dd 重装纯净的系统

如果不想重装,修改完成后锁定 hosts 文件也可以的

chattr +i /etc/hosts

2. 安装 iredmail

iredmail 的项目地址 https://github.com/iredmail/iRedMail

安装 iredmail 前必须先安装 iptables

apt install iptables -y

iptables 必须确认安装,我曾因为没有安装,在安装了 iredmail 后无法进入系统,只能去恢复模式修复!

安装其它需要的包

apt install unzip -y

从 github 下载 iredmail ,例如

wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.7.1.zip
unzip 1.7.1.zip
cd iRedMail-1.7.1/

给脚本执行权限

chmod +x iRedMail.sh

执行安装脚本

bash iRedMail.sh
66dd0fa42cf88
开始安装

存储目录没有特殊需求的话保持默认即可

66dd0fcf7fdc3
选择存储位置

选择 web server , 我们没有自己安装的,就用它配置好的 nginx 好了,方便好用

66dd12352264c
选择 web server

选择数据库,可以根据自己的喜好选择,我选择 MariaDB

按空格键选中,注意看括号中是否有代表选中的星号
66dd12bbb641e
选择数据库

创建 Mysql 密码 , 密码要保存好,这个密码越复杂越好

66dd132ce38c8
填写 MySQL 密码

填写邮箱域名, 注意这里填写的是顶级域名,即 example.com

66dd13801a524
填写邮箱域名

创建邮箱管理员密码,这个密码也要记好

66dd13de0ad36
创建邮箱管理员密码

选择要安装的程序,这个按需选择

66dd1429d300f
选择安装程序
  • Roundcubemail:邮箱的 web 界面
  • SOGo:选了 Roundcubemail 就没必要选它了
  • netdata:服务器状态监控与可视化
  • iRedAdmin:邮箱的管理员面板
  • Fail2ban:封禁爆破 IP

最终确认安装配置

66dd1504e7aba
确认安装选项

耐心等待安装完成

使用防火墙

66dd18805933f
使用防火墙

安装完成,重启 vps

66dd18c2f07b9

3. 设置域名记录

虽然 iredmail 已经安装好了,但仍然需要设置一些域名记录,这些记录是为了防止垃圾、诈骗邮件而设计的

3.1 设置 spf 记录

spf 记录是 TXT 类型

字符为

v=spf1 a:mail.example.com ~all

这个记录是告诉别人,允许从域名解析为 mail.example.com 的服务器发送邮件,如果不是从指定的服务器发送的,邮件会被标记为可疑

Windows 下使用 nslookup 验证记录

nslookup -qt=txt example.com

Linux 下使用 nslookup 验证记录

nslookup -q=txt example.com

3.2 设置 dkim 记录

dkim 记录的作用是帮助电子邮件接收服务器验证电子邮件的真实性,防止电子邮件伪造和钓鱼攻击

查看服务器的 dkim

/usr/sbin/amavisd showkey

会看到

66dd1e29eb0dd
查看 dkim

将 () 中的内容复制出来,去掉引号、回车和空格,连起来就是记录值

添加解析记录

66dd1f0319379
添加 dkim 解析

解析完成会返回邮箱服务器执行

/usr/sbin/amavisd testkey

如果看到 PASS ,就是校验通过了

66dd1fb5020e6
dkim 校验

3.3 添加 DMARC 记录

DMARC 允许域名所有者明确指定哪些邮件服务器有权代表该域名发送电子邮件,并要求接收方验证发件人的 SPF 和 DKIM 签名。如果验证失败,DMARC 规定了如何处理这类邮件。

添加一条 TXT 解析

v=DMARC1;p=none;ruf=mailto:abuse@example.com;rua=mailto:abuse@example.com
66dd21184b750
添加 DMARC 记录

在 Windows 命令行中验证

nslookup -qt=txt _dmarc.example.com

在 Linux 命令行中验证

nslookup -q=txt _dmarc.example.com

能看到添加解析的结果即可

4. 为网站添加 ssl 证书

安装 acme.sh

curl  https://get.acme.sh | sh
alias acme.sh=~/.acme.sh/acme.sh

申请证书,我使用 dns 验证的方式,这里参考 acme.sh 的用法

比如 cloudflare

export CF_Key="YOUR_KEY"
export CF_Email="YOUR@EMAIL.COM"
acme.sh --issue --dns dns_cf -d mail.example.com

比如 dnspod

export DP_Id="YOUR_ID"
export DP_Key="YOUR_KEY"
export ACCOUNT_EMAIL="YOUR@EMAIL.COM"
acme.sh --issue --dns dns_dp -d mail.example.com

安装证书

acme.sh --installcert -d mail.example.com \
--key-file /etc/ssl/private/nginx.key \
--fullchain-file /etc/ssl/certs/nginx.cer  \
--reloadcmd "systemctl force-reload nginx"

修改 nginx 配置文件

nano /etc/nginx/sites-enabled/00-default-ssl.conf

在 server{} 里添加

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

安装 iredmail 邮件服务相关的 SSL

acme.sh --installcert -d mail.example.com \
--key-file /etc/ssl/private/iRedMail.key \
--fullchain-file /etc/ssl/certs/iRedMail.crt \
--reloadcmd "service nginx force-reload && service postfix force-reload && service dovecot force-reload"

5. 邮箱服务管理与测试

5.1 添加邮箱用户

访问 https://mail.example.com/iredadmin

66dd3184bb7a5
登录管理员账户

其中:

  • 用户名 为 postmaster@example.com
  • 密码 为 前面自己设置的

进入 添加 -> example.com

66dd327264950
添加邮箱用户

点击 添加 就能新建用户了

然后打开 https://example.com/mail ,登录刚才创建的账号

就可以看见邮箱页面了

66dd337c5ee94
邮箱页面

5.2 邮箱评分测试

使用的测试网站是 https://www.mail-tester.com/

只需要向网页展示的地址发送一封邮件,就可以看到评分了

66dd340218fc5
邮件测试

向其发送测试邮件

66dd3469e28b2
发送测试邮件

查看评测结果,自然是满分

66de54f98a7c6
测试评分

接着就可以向 QQ、Outlook、Gmail 发送测试邮件了

Gmail 测试收件正常,不会进垃圾箱

66dd381e62c6b
gmail 测试

Outlook 测试收件正常,不会进垃圾箱

66dd3866717f2
outlook 测试

QQ 测试收件正常,不会进垃圾箱

66dd389334781
qq 测试

至此邮箱搭建就完成了,只要前面步骤正确,服务器 IP 不要太差,基本都不会进垃圾箱的

当然如果你购买的是部分 “网红商家” 的 vps,那 IP 都已经很差了,就很容易进垃圾箱,尤其是 Outlook , 这种就没什么更好的办法了

6. 参考

 

 

好主机测评广告位招租-300元/3月
赞(0) 打赏
未经允许不得转载:好主机测评网 » 如何自建域名邮箱:使用iredmail自建邮箱服务器教程
好主机测评广告位招租-200元/3月
好主机测评广告位招租-100元/3月

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫