使用VPS自建邮局iredmail邮箱程序-以debian11为例


自己建设邮箱,使用自己的域名作为邮箱后缀,功能丰富,可以作为网站的系统发件邮箱或者自用都是比较合适的一种方式。

官方Debian安装教程

一、准备工作

1.域名1个,规划一个邮箱域名,一般直接是mail.baidu.com,解析A记录到VPS上。

2.VPS1个,内存最小最小不能小于1G。强烈建议能做DNS PTR 记录的,可以在VPS后台设置,或者询问域名服务商。

知识普及:

在邮件的交换记录中,有 A记录 和 PTR记录 两种,A记录大家应该是耳熟能详了,我们每天搭建服务、解析域名到 IP,用的就是 A记录,我们称为正向解析,用来映射域名到 IP

而 PTR记录,则是相反的,所以也被我们成为反向解析,他是用来把一个 IP 映射到域名。

二、开始搭建

在官网查看操作系统版本需求和最新的版本号,严格按照官方的要求安装对应的系统。这里推荐安装Debian11.iRedMail官网

1.Debian 系统升级并安装 Curl/wget/sudo:

apt update -y && apt install curl -y && apt install wget -y && apt install sudo -y

2.debian开启BBR,记得执行完重启reboot:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

3.首先,需要编辑 /etc/hosts 文件,找到含有你的 VPS IP 地址的那一行;如果没有,则添加一行。内容如下:

127.0.0.1 mail.baidu.com mail

4.然后,我们找到 VPS 的 /etc/hostname 文件,编辑里面的内容为 mail,然后重启服务器

检查代码:

执行:hostname

此时我们应该只能看到短主机名 mail. 如果你看到了长主机名 mail.baidu.com , 说明之前设置错误,请重新检查上述步骤。

执行:hostname -f

此时,我们应该只能看到长主机名 mail.baidu.com

5.下载并安装 iRedMail,目前最新版是1.6.3

wget https://github.com/iredmail/iRedMail/archive/1.6.3.tar.gz -O /root/iRedMail.tar.gz
tar -xf iRedMail.tar.gz
cd iRedMail-1.6.3
bash iRedMail.sh

接下来是图形安装界面:

如上图,第一步直接yes回车

第二步设置安装目录直接默认回车

第三步选择 web服务器默认Nginx回车

第四步选择数据库类型选择MariaDB,回车

第五步设置数据库密码,自己设置,回车

第六步设置域,直接填baidu.com(写你自己的域名,这里是示意)

第七步设置管理员账号、密码,可以直接设置和数据库密码一样,方便记忆

第八步选择默认组件,直接默认回车

第九步预览配置

一路y回车,最后重启reboot

申请SSL证书

逐行执行以下代码,邮箱可以填你自己在用的邮箱。注意更改baidu.com为你自己的域名。

curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com
~/.acme.sh/acme.sh  --issue  -d mail.baidu.com  --webroot  /var/www/html
~/.acme.sh/acme.sh --installcert -d mail.baidu.com --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt

重载服务

service postfix reload;service dovecot reload;service nginx reload

创建一个 cron 作业以自动更新 续订Let’s Encrypt 证书:

sudo crontab -e

如果提示选择编辑器,随便选择一个,然后粘贴或者手动增加以下代码

# Renew Let's Encrypt certs
15 3 * * * /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

reboot重启服务器

配置域名 DNS 及解析

1.配置PTR DNS 记录:

各VPS商家PTR记录添加方式不一样的,但是找到了填写的地方,直接将IP对应填写域名mail.baidu.com

2.设置A记录:

别忘记将mail.baidu.com解析到你的VPS上

3.设置MX记录:

在你的域名解析面板添加一个MX解析记录,主机名那里留空或者@,类型选择MX,TTL默认,优先级10,记录就是mail.baidu.com

4.设置SPF记录:

主机名那里留空或者@,类型选择TXT,TTL默认,记录填写v=spf1 mx ~all

5.设置DKIM记录:

查看 /root/iRedMail-1.4.2/iRedMail.tips 文件,里面有相应的 DKIM


如上图这一段,需要将括号内的文本 去除引号以及空格并相连 就是咱们的 DKIM 数据。需要复制出来这行文本到TXT里面编辑,去掉所有的双引号和空格,还有最后的那个半括号),使其为一条数据。

域名解析那里,主机名填dkim._domainkey,类型选择TXT,TTL默认,记录填写刚才编辑好的DKIM数据

6.设置DMARC记录:

主机名填_dmarc,类型选择TXT,TTL默认,记录填写v=DMARC1; p=none; pct=100; rua=mailto:dmarc@baidu.com,记得替换最后为你的域名。

优化 iRedMail 邮件服务器

1.禁用 iRedMail 灰名单

找到 VPS 文件,/opt/iredapd/settings.py

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

将其中的 ”greylisting ” 这项删去,记得包括双引号和逗号

然后,重启 iredapd

service iredapd restart

2.禁用反病毒 clamav

由于 iredmail 安装时会一起安装病毒扫描程序 ClamAV,而 ClamAV 会占用所有可能的内存,除非你的服务器有着足够的内存。要不然对于内存比较小的服务器来说,那就是噩梦。

在 Postfix 配置文件 /etc/postfix/main.cf 中保留content_filter = smtp-amavis:[127.0.0.1]:10024

在 Amavisd 配置文件 /etc/amavis/conf.d/50-user 中找到以下行

# @bypass_virus_checks_maps = (1);
# @bypass_spam_checks_maps  = (1);

取消上述行的注释(删除每行开头的“#”),如果括号数字为 (0) 就改为(1)

同一 Amavisd 配置文件中的另一个位置:

$policy_bank{'ORIGINATING'} = {
    ...
    # Bypass checks
    #bypass_spam_checks_maps => [1],    # don't check spam
    #bypass_virus_checks_maps => [1],   # don't check virus
    #bypass_banned_checks_maps => [1],  # don't check banned file names and types
    #bypass_header_checks_maps => [1],  # don't check bad header
};

取消 # Bypass checks 以下四行的注释(删除每行开头的“#”)以禁用垃圾邮件 / 病毒扫描。

重新启动 Amavisd 服务:

/etc/init.d/amavis restart

禁止 ClamAV 自启动

systemctl mask clamav-daemon clamav-freshclam

大功告成

https://你的域名/mail        ——邮件登录地址
https://你的域名/netdata     ——服务器状态监控
https://你的域名/iredadmin   ——邮件服务器后台管理
 
管理员账号:postmaster@你的域  例如 postmaster@163.com
管理员密码:安装时候设置的密码
以上信息,可以在 /root/iRedMail-1.4.2/iRedMail.tips 文件中查看

首先,我们可以用管理员账号登录https://mail.baidu.com/mail  可以实现收发邮件。

我们访问 https://www.mail-tester.com/,按照网页上面给出的邮箱地址,我们用刚才搭建好的邮件服务器给这个地址发送一封邮件,然后点击测试。

按照上述架设教程,基本得分能得到满分10分。

访问https://你的域名/iredadmin进入管理后台,仍然用管理员账号登录,点击添加,即可添加邮箱用户。

如果你是需要用其他客户端软件来收取或是发送邮件,端口列表在这里:

协议 地址 端口&加密端口
IAMP 邮箱域名 143,993
POP3 邮箱域名 110,995
SMTP 邮箱域名 25,587

我这边用的 “网易邮件大师”,可以完美的收发邮件,客户端如下配置: