返回

iRedMail域名邮箱

前几天弄了一个挺有趣的域名,正好放假了有时间,想着尝试一下自建域名邮箱。我使用的软件是[iRedMail][1],官网提供了中英文的[安装文档][2]并支持多种安装方式(包括Docker),还是挺方便的。我使用常规的方法来进行安装。

iRedMail自建邮局

前几天弄了一个挺有趣的域名,正好放假了有时间,想着尝试一下自建域名邮箱。我使用的软件是[iRedMail][1],官网提供了中英文的[安装文档][2]并支持多种安装方式(包括Docker),还是挺方便的。我使用常规的方法来进行安装。

不过要注意自建邮件服务器前,先确认你的服务器的25(smtp)端口可用。

我使用的服务器配置
justhost
2c2g
debian10

安装iRedMail

官网文档已经有了很详细的安装教程了,基本跟着教程做即可。安装脚本会自动配置环境,所以得使用干净的环境来安装

首先修改一下主机名,之后安装脚本会根据这个主机名来配置web服务器。

输入命令 hostname -f 查看当前的主机名

$ hostname -f
mx.example.com

在 Debian/Ubuntu 系统上,主机名需要在两个文件里设置:/etc/hostname/etc/hosts

  • /etc/hostname:短名称。

    mx

  • /etc/hosts 里定义主机名和 IP 地址的对应关系。注意:一定要将 FQDN 主机名列在第一个。

    127.0.0.1 mx.example.com mx localhost localhost.localdomain

wget https://github.com/iredmail/iRedMail/archive/1.3.2.tar.gz
tar -zxvf 1.3.2.tar.gz
cd iRedMail-1.3.2/
bash iRedMail.sh```

![开始安装][3] 

在这个界面中,我们需要指定邮箱的存储路径、web服务器、数据库、数据库密码、域名邮箱使用的域名、邮箱管理员(postmaster)的密码等信息,在确认所有信息后便可以开始安装。

部分软件是编译安装的,所以可能要等待挺长的一段时间。

![成功安装][4] 

安装完毕之后重启一下服务器,之后便能通过域名访问了。

![image-20210112134308884][5] 

## 配置DNS记录

虽然完成了上面的步骤之后已经可以发信了,但是此时发出去的邮件大概率会直接进垃圾箱甚至拒收,所以我们还得进行一些配置。

我们可以先测试测试我们当前的邮箱配置,访问 <https://www.mail-tester.com/> 获取一个邮箱地址,并给他发信,查看测试结果。

![image-20210112135522925][6]![测试结果][7] 

可以看到,发信成功了,但是分数低的吓人。

所以我们需要进行一些修改,让邮件变得更为“可信”。

### 配置RDNS

> rDNS全称为reverse DNS,即为反向域名解析。正向域名系统(DNS)把域名分解成关联的IP地址,反向域名解析是一种把一个IP地址分解成一个域名的方法。 

rdns可以用来判断发信者ip是否能和宣传域名对应上,某些服务商可以直接在面板中修改,但是我发现justhost是没办法修改rdns的&#8230;只得略过这一步了。

### 配置MX记录

MX(Mail Exchanger Record )记录用于高速其他的邮件服务器,你的邮件服务器在哪,配置好了才能成功收信,记录值需要是hostname不能直接用ip.

`mydomain.com.   10          mx      mail.mydomain.com`

会使得发往`[user]@mydomain.com`的邮件都交由`mail.mydomain.com`进行处理。

### 配置SPF记录

这篇文章写的很清楚 <https://www.renfei.org/blog/introduction-to-spf.html>

> SPF 记录实际上是服务器的一个 DNS 记录,原理其实很简单:  
> 假设邮件服务器收到了一封邮件,来自主机的 IP 是`173.194.72.103`,并且声称发件人为`email@example.com`。为了确认发件人不是伪造的,邮件服务器会去查询`example.com`的 SPF 记录。如果该域的 SPF 记录设置允许 IP 为`173.194.72.103`的主机发送邮件,则服务器就认为这封邮件是合法的;如果不允许,则通常会退信,或将其标记为垃圾/仿冒邮件。  
> 因为不怀好心的人虽然可以「声称」他的邮件来自`example.com`,但是他却无权操作`example.com`的 DNS 记录;同时他也无法伪造自己的 IP 地址。因此 SPF 是很有效的,当前基本上所有的邮件服务提供商(例如 Gmail、QQ 邮箱等)都会验证它。 

记录 `mydomain.com.   3600    IN  TXT "v=spf1 mx -all"` 表示`mydomain.com`记录指向的所有服务器都可以被认为是`@mydomain.com`的发件人,另外还可以直接指明可信的邮件服务器ip。

`mydomain.com.   3600    IN  TXT "v=spf1 ip4:111.111.111.111 ip4:111.111.111.222 -all"`

### 配置DKIM记录

运行 `amavisd-new showkeys` 查看记录,并把显示出来的()中的dkim记录复制出来并添加到dns记录中(整理一下,删掉引号),**记录名为 dkim._domainkey** 。可以通过`dig -t txt dkim._domainkey.mydomain.com` 或者 `amavisd-new testkeys`查看记录是否生效。

最终效果

![最终效果][8] 

## 参考

[给域名添加SPF记录以提高邮件通达度][9]

[邮件服务器上设置rDNS是什么?][10]

[SPF记录介绍][11]

 [1]: https://www.iredmail.org/index-zh_CN.html
 [2]: https://docs.iredmail.org/index-zh_CN.html
 [3]: https://img.aoyouer.com/images/2021/01/12/20210112125038.png
 [4]: https://img.aoyouer.com/images/2021/01/12/20210112134248.png
 [5]: https://img.aoyouer.com/images/2021/01/12/20210112134308.png
 [6]: https://img.aoyouer.com/images/2021/01/12/20210112135522.png
 [7]: https://img.aoyouer.com/images/2021/01/12/20210112135603.png
 [8]: https://img.aoyouer.com/images/2021/01/12/20210112144854.png
 [9]: https://nya.dyn.im/2016/07/27/15/
 [10]: https://www.megalayer.net/zh/support/20200512.html
 [11]: https://www.renfei.org/blog/introduction-to-spf.html
comments powered by Disqus
本站访客数:
Built with Hugo
Theme Stack designed by Jimmy