自建邮件服务器,基于iRedMail搭建域名邮局不进垃圾箱

为何自建邮件服务器

有自己的域名,有自己的博客,那么总也得有可个性化定制的域名邮箱吧!在没有自建域名邮箱之前,一直使用的是gmail邮箱的转发,但发出去的邮件就会显示出我原来的邮箱或者提示邮件代发,这就还不如直接用gmail邮箱呢。于是,趁着这手上还有甲骨文的免费机器,用它最低配置的VM.Standard.E2.1.Micro,仅有1G内存的免费VPS自建基于iRedMail邮件服务器。目前已稳定使用2年。温馨提示:使用免费服务器,有重要数据的建议做好自动备份

iRedMail介绍

iRedMail是一个基于Linux/BSD系统的功能完备、成熟的邮件服务器解决方案,免费且开源!它可以让你在几分钟内搭建一个支持SMTP、IMAP、POP3、Webmail、Calendar、Contacts、Tasks和ActiveSync等服务的邮件服务器,允许创建任意数量的邮件账号,保护邮件数据隐私。iRedMail还提供了一个直观又易于使用的Web网页管理面板,让你可以方便地管理用户帐号、域名、别名、邮件列表等。

系统要求及环境配置

本篇文章中服务器基于Ubuntu 20.04 LTS 64 bit操作系统,你也可以在下载页面查看iRedMail支持的系统版本号。Debian和Ubuntu系统的安装步骤基本一致,CentOS稍微不同,你可自行学习相关命令安装。

前面提到本文使用的是仅有1G内存的VPS,搭建安装iRedMail,系统需要全新的。运行一个低流量的邮局,1G内存不是很够,这样就需要开启虚拟内存SWAP,建议大小2G。(简单来说,当VPS的物理内存不够用时,系统会占用一部分Swap分区作为临时内存,目的是防止因物理内存耗尽而可能出现的错误。如果不会这部分请自行查阅)

自建域名邮箱

发送邮件需要VPS的25端口提供邮件服务;国内外大多数服务器厂商不开放25端口,如果你想付费使用,这里我建议推荐Time4VPS,便宜!自己就可以设置PTR。开放25端口需要登录帐号后向客服反馈(工单)。

为域名邮局作DNS解析

开始之前,需要为你的iRedMail服务器设置DNS记录→A、PTR、MX记录。重要提示:A、MX记录是必需的,Reverse PTR、SPF、 DKIM和DMARC是可选的(后三项可以安装完再设置),这是收发信件不进垃圾箱的重要相关因素,所以强烈推荐。根域名为4ziu.com,通常会将邮件服务器域名设置为mail.4ziu.com或mx.4ziu.com,本文以域名mail.4ziu.com为例。若你想要依照本文搭建邮局,请自行更换其中的域名等内容。

iredmail自建邮件服务器设置DKIM密钥记录
  • A记录:为mail.4ziu.com设置A记录,解析值为邮件服务器的IP地址。
  • 为4ziu.com设置任意一条A、AAAA、Alias、或者CName Flattening记录,解析值不为空;若你不需要用该域名做网站,请设置一条A记录解析到127.0.0.1。  请注意,根域名绝对不能设置CName记录,否则邮件服务器的地址就会被覆盖,导致邮件无法正常发送和接收。
  • 将4ziu.com设置MX记录,解析值为mail.4ziu.com, 优先级设置为10。
  • PTR 记录:dRNS,将服务器IP 地址解析为其关联主机名,即解析值为mail.4ziu.com。
Time4vps设置rDNS PTR记录
Time4VPS设置rDNS PTR记录

安装iRedMail系统

SSH登录上将为作为邮件服务器的VPS,执行以下操作:

设置完整域名(FQDN)的主机名

在 Debian/Ubuntu 系统上,主机名需要在两个文件里设置:/etc/hostname 和 /etc/hosts,Ubuntu系统则编辑 /etc/hosts文件,找到有VPS的IP地址的那一行,如果没有就添加一行,内容为

146.56.XXX.XX mail.4ziu.com mail

146.56.XXX.XX是服务器IP地址,后面分别是长主机名和短主机名。

iredmail自建邮件服务器设置主机名

再执行命令,检查设置是否生效:

echo "mail" > /etc/hostname
hostname -F /etc/hostname
hostname

应当显示出短主机名:mail

hostname -f

应当显示出长主机名:mail.4ziu.com

启动iRedMail安装程序

apt-get update && apt-get upgrade -y
wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.7.tar.gz
tar -xf 1.6.7.tar.gz
cd iRedMail-1.6.7
bash iRedMail.sh

系统将运行iRedMail安装程序,过程中需要需要回答几个问题和设置账户等。

1: 欢迎和感谢使用。

iredmail自建邮件服务器欢迎界面

2: 指定用于存储用户邮箱的路径。默认是 /var/vmail/。你也可以设置其他路径,只是不要设置在/home目录内。

iredmail自建邮件服务器设置默认安装目录

3: 选择是否安装Web服务器。如果你只需要客户端收发信,可以不安装,其他情况下则建议安装Nginx,这样可以进入可视化后台更方便管理。

iredmail自建邮件服务器选择安装Nginx web

4: 选择比较简单熟悉的MariaDB,用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。

iredmail自建邮局服务器选择MariaDB数据库

5: 为MariaDB数据库设置root用户密码。

iredmail自建邮件服务器选择MariaDB数据库root密码

6: 设置第一个发信域名。邮件服务器域名为mail.4ziu.com,则输入4ziu.com。

iredmail自建邮件服务器设置第一个发信域名

7: 设置管理员邮箱密码。管理员邮箱地址为postmaster@4ziu.com,默认邮箱前缀为postmaster。

iredmail自建邮件服务器设置管理员账户密码

8: 选择需要的功能组件。默认选择Roundcubemail、netdata、 iRedAdmin、Fail2ban即可。

iredmail自建邮件服务器选择功能组件

9: 设置完毕后,安装程序会给出本次安装的基本信息并要求确认是否进行实际安装。输入y并按回车键确认。

iredmail自建邮件服务器安装程序确认基本信息

10: 安装时间需要大概10分钟,具体时间依所使用的机器配置而定。iRedMail安装完成后,程序会提示是否设置防火墙规则,我们输入y回车。

iredmail自建邮件服务器安装程序设置防火墙规则

至此,iRedMail邮局服务器安装完成。在开始设置其他内容之前,重启一次服务器。

配置SSL证书

使用ACME 脚本申请邮局域名的SSL证书,本文VPS基于Ubuntu系统,因此把申请好的SSL证书覆盖到/etc/ssl/private/iRedMail.key、/etc/ssl/certs/iRedMail.crt。若是CentOS系统,则是/etc/pki/tls/private/iRedMail.key、/etc/pki/tls/certs/iRedMail.crt。

curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m admin@4ziu.com
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
~/.acme.sh/acme.sh  --issue  -d mail.4ziu.com  --webroot  /var/www/html
~/.acme.sh/acme.sh --installcert -d mail.4ziu.com --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt
iredmail自建邮件服务器配置SSL证书

重载postfix、dovecot、nginx服务

service postfix reload;service dovecot reload;service nginx reload

禁用iRedMail灰名单

灰名单(greylist)是一项防止垃圾邮件的功能,iRedMail默认开启了该功能。但是,该功能开启会导致收信件时有较长时间的延迟,因此将该功能关闭。

编辑文件 /opt/iredapd/settings.py,找到有greylisting这行(查找命令Esc?greylisting),删除greylisting并保持其他项的格式,按Esc:wq!保存退出。

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
iredmail自建邮件服务器禁用灰名单

重启iredapd

service iredapd restart

设置其他DNS记录

1, SPF记录

添加一条TXT记录,将根域名4ziu.com解析值设置如下。SPF 记录是为了防止垃圾邮件,告知收件方,从设置的允许列表中发出的邮件都是合法的。

v=spf1 mx ~all

2, DMARC记录

DMARC记录是基于域的消息身份验证、报告和一致性的缩写。它使用SPF记录或DKIM记录来检查发件人域的授权。它还可以指定如何处理未通过验证的电子邮件,以及向发件人发送反馈报告。添加一条TXT记录,将_dmarc.4ziu.com (包括dmarc前面的下划线)解析值设置为

v=DMARC1; p=none; pct=100; rua=mailto:dmarc@4ziu.com

3, DKIM记录

DKIM记录是域名密钥识别邮件的缩写。它使用加密技术,让发件人域对电子邮件的标题和正文进行签名。这样,接收电子邮件的服务器可以检查电子邮件是否被篡改或伪造。生成DKIM密钥,执行命令:

amavisd-new showkeys

得到类似于以下的密钥:

iredmail自建邮件服务器生成DKIM密钥数据

在DNS服务提供商添加一条TXT记录,解析值为除去引号和空格再相连后的DKIM数据:

v=DKIM1; p=MIIBIjANBgk……………………………………Xw7R8icwIDAQAB

iredmail自建邮件服务器设置DKIM密钥记录 1

添加用户及测试

访问https://mail.4ziu.com/iredadmin,登入管理员面板。管理面板的管理员账户名为postmaster@4ziu.com,密码是安装iRedMail时设置的管理员密码。

iredmail自建邮件服务器登入管理员操作面板

在管理面板处,点击Add → User新建邮箱用户,一般不会用管理员账户作为主要的域名邮箱,所以可自行定义想要的前缀将其作为主邮箱,这就是自建邮局的好处了。

iredmail自建邮件服务器添加admin用户

这样新建好了新用户就可以打开邮箱的登录面板为https://mail.4ziu.com/mail/,再通过https://www.mail-tester.com/测试你的邮箱发出的邮件评分。

如果你想使用客户端来收发邮件,IMAP、 POP、SMTP地址均为mail.4ziu.com,端口分别是IMAP: 143/993、POP3: 110/995、SMTP: 25/587。

Windows Outlook邮件客户端配置:

Outlook客户端配置邮件服务器

可以看到此网站给出的测试均给出了✔通过,邮件测试结果:10分。

本文内容参考自使用iRedMail在Ubuntu 20.04上快速搭建邮件服务器

自建企业级邮件服务器、域名邮箱!iRedMail 企业级邮件系统搭建、配置、优化教程!

1人评论了“自建邮件服务器,基于iRedMail搭建域名邮局不进垃圾箱”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部