为何自建邮件服务器
有自己的域名,有自己的博客,那么总也得有可个性化定制的域名邮箱吧!在没有自建域名邮箱之前,一直使用的是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为例。若你想要依照本文搭建邮局,请自行更换其中的域名等内容。
- 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。
安装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地址,后面分别是长主机名和短主机名。
再执行命令,检查设置是否生效:
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: 欢迎和感谢使用。
2: 指定用于存储用户邮箱的路径。默认是 /var/vmail/。你也可以设置其他路径,只是不要设置在/home目录内。
3: 选择是否安装Web服务器。如果你只需要客户端收发信,可以不安装,其他情况下则建议安装Nginx,这样可以进入可视化后台更方便管理。
4: 选择比较简单熟悉的MariaDB,用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。
5: 为MariaDB数据库设置root用户密码。
6: 设置第一个发信域名。邮件服务器域名为mail.4ziu.com,则输入4ziu.com。
7: 设置管理员邮箱密码。管理员邮箱地址为postmaster@4ziu.com,默认邮箱前缀为postmaster。
8: 选择需要的功能组件。默认选择Roundcubemail、netdata、 iRedAdmin、Fail2ban即可。
9: 设置完毕后,安装程序会给出本次安装的基本信息并要求确认是否进行实际安装。输入y并按回车键确认。
10: 安装时间需要大概10分钟,具体时间依所使用的机器配置而定。iRedMail安装完成后,程序会提示是否设置防火墙规则,我们输入y回车。
至此,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
重载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"]
重启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
得到类似于以下的密钥:
在DNS服务提供商添加一条TXT记录,解析值为除去引号和空格再相连后的DKIM数据:
v=DKIM1; p=MIIBIjANBgk……………………………………Xw7R8icwIDAQAB
添加用户及测试
访问https://mail.4ziu.com/iredadmin,登入管理员面板。管理面板的管理员账户名为postmaster@4ziu.com,密码是安装iRedMail时设置的管理员密码。
在管理面板处,点击Add → User新建邮箱用户,一般不会用管理员账户作为主要的域名邮箱,所以可自行定义想要的前缀将其作为主邮箱,这就是自建邮局的好处了。
这样新建好了新用户就可以打开邮箱的登录面板为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邮件客户端配置:
可以看到此网站给出的测试均给出了✔通过,邮件测试结果:10分。
本文内容参考自使用iRedMail在Ubuntu 20.04上快速搭建邮件服务器
收藏了