如何搭建iRedMail开源企业邮局系统

IRedMail 是一个开源的邮件服务器解决方案,它可以帮助您快速、简单地搭建一个功能齐全的邮件服务器。本教程将指导您如何在 Ubuntu 20.04 服务器上搭建 IRedMail 邮件服务器。其他系统请相应替换命令,要替换的命令文章中有说明(Ubuntu&Debian不用修改)支持的系统:下载iRedMail

系统要求

阿里云、腾讯云均禁止使用邮件服务所必须的 25 端口提供邮件服务,因此您不能在 它们的云服务器部署邮件服务器。

iRedMail 只针对全新安装的操作系统设计,它要求你的操作系统上 没有 事先 安装邮件服务相关的组件,例如 MySQL,OpenLDAP,Postfix,Amavisd,等。 iRedMail 会自动安装和配置邮件服务所需的组件,因此如果操作系统上已有相关 组件,iRedMail 可能会打乱你的配置并造成服务无法正常启动。

如果你没有域名可以点击此处注册

namesilo域名注册优惠码:ZYH8

填写后可以优惠一美元

  • 一台安装了 Ubuntu 20.04 的服务器
  • 至少 2GB RAM
  • 至少 10GB 空闲硬盘空间
  • 一个有效的域名(最好是.com)
  • 建议将域名托管到cloudflare
  • 检查服务器是否可以设置RDNS(PTR反向解析)
  • 检查服务器是否开启25端口telnet smtp.qq.com 25
#有以下输出则代表已经开启
root@mail:~# telnet smtp.qq.com 25
Trying 43.129.255.54...
Connected to smtp.qq.com.
Escape character is '^]'.
220 newxmesmtplogicsvrszb6-0.qq.com XMail Esmtp QQ Mail Server.

我知道的几个符合要求的VPS服务提供商有:RackNerd cloudcone(这两家都有优惠,自行谷歌)

第 1 步:更新系统

在开始安装 IRedMail 之前,请确保您的系统已更新到最新版本。在终端中运行以下命令:

sudo apt update
sudo apt upgrade -y
sudo reboot

CentOS:

#提示是否升级时输入y确认
yum update

第 2 步:为服务器设置一个完整域名(FQDN)的主机名

不管你的服务器将用于实际运行还是仅仅用作测试,都建议设置一个完整域名(FQDN)的主机名。

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

$ hostname -f
mx.example.com

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

  • /etc/hostname:短名称。
mx.example.com
  • /etc/hosts 里定义主机名和 IP 地址的对应关系。注意:一定要将 FQDN 主机名列在第一个。
127.0.0.1   mx.example.com mx localhost localhost.localdomain

确认系统已使用设置好的 FQDN 作为主机名。如果没有生效,请重启系统。

$ hostname -f
mx.example.com

启用 Debian/Ubuntu 默认的官方 apt 软件源

  • iRedMail 依赖 Debian/Ubuntu 官方的 apt 软件源,请在 /etc/apt/sources.list 文件里启用它们。
  • 安装 tar 和 gzip 程序用于解压缩文件:
# sudo apt-get install tar gzip

第 3 步:下载并安装 IRedMail

从 IRedMail 官方网站下载最新版本的 IRedMail 安装脚本:(自行替换下载链接,目录,以当时的最新版为准)

wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.5.2.tar.gz

解压下载的文件:

tar zxvf 1.5.2.tar.gz

进入解压后的目录:

#查看文件夹名称
ls
cd iRedMail-1.5.2/

运行 IRedMail 安装脚本:

sudo bash iRedMail.sh

安装过程的截图

  • 欢迎和感谢使用
  • 指定用于存储用户邮箱的路径。默认是 /var/vmail/
  • 选择用于存储邮件账号的数据库。

各个数据库之间没有太大区别,建议使用自己熟悉的数据库,便于后期维护。

  • 如果选择 OpenLDAP 数据库用于存储邮件账号,安装程序会要求你输入 LDAP 前缀:

MySQL/MariaDB/PostgreSQL 用户

如果选择 MySQL/MariaDB/PostgreSQL 用于存储邮件账号, 安装程序会为数据库的 root 用户生成一个随机的强密码,安装完成后可以在 iRedMail.tips 文件里找到。

  • 添加第一个邮件域名(这里直接填写你的域名example.com)
  • 设置邮件管理员的密码

该账号即是邮件管理员,也是普通的邮件账号,可以登录管理后台和 webmail。

  • 可选的组件(保持默认即可)

回答完上面的几个问题之后,安装程序给出本次安装的基本信息并要求确认是否实际 执行安装,请输入 y 或 Y 并按回车键确认,或 nN 并按回车键中止安装。

重启系统sudo reboot

第 4 步:配置 IRedMail

配置DNS(自行替换相关内容,这些示例符合一般应用场景)

设置 PTR 反向解析

检测方式:nslookup 8.8.8.8(服务器IP)

设置 A 记录
将 mail.example.com 的 A 记录指向你的 VPS 服务器(邮件服务器)

检测方式:nslookup mail.example.com

设置 MX 记录
MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址,优先级为 10

检测方式:nslookup -type=mx example.com

设置 SPF 记录
SPF 记录是为了防止垃圾邮件而设定的,告知收件方,从设置的允许列表中发出的邮件都是合法的,设置方式为添加一条根域名的 TXT 解析记录

内容为 v=spf1 mx ip4:your-sever-ip -all

检测方式:nslookup -type=txt example.com

设置 DKIM记录
DKIM 可说是避免被判定为垃圾邮件的一大利器,DKIM 属于一种类似加密签名的解析记录,只有包含此加密数据,且公钥与密钥相匹配才属于合法邮件,要设置 DKIM 记录,首先要查询 DKIM 信息。

查询DKIM 信息:

直接查看 /root/iRedMail-1.5.1/iRedMail.tips 文件,里面有相应的 DKIM,将括号内的文本去除引号以及空格并相连 ,就是咱们的 DKIM 数据,在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是咱们组合出的文本

测试方式:nslookup -type=txt dkim._domainkey.example.com

设置 DMARC 记录
DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内。

添加方法就是增加一条 _dmarc 的 TXT 解析,内容为:v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; adkim=s; aspf=s

检测方式:nslookup -type=txt _dmarc.example.com

申请证书

确保cloudflare代理小云朵是灰色

1.停止 Nginx 服务:

sudo systemctl stop nginx

2.安装 Certbot

对于 Ubuntu/Debian 系统:

sudo apt-get update
sudo apt-get install certbot

对于 CentOS/RHEL 系统:

sudo yum install epel-release
sudo yum install certbot

3.使用 Certbot 申请证书(自行替换相关内容)

sudo certbot certonly --standalone -d mail.example.com --email [email protected] --agree-tos --no-eff-email

4. 将证书文件和私钥文件复制到指定的位置

sudo cp /etc/letsencrypt/live/mail.example.com/fullchain.pem /etc/ssl/certs/iRedMail.crt
sudo cp /etc/letsencrypt/live/mail.example.com/privkey.pem /etc/ssl/private/iRedMail.key

5.设置证书自动续期

Let’s Encrypt 证书有效期为 90 天,因此您需要设置自动续期。编辑 /etc/crontab 文件,添加以下内容:

0 3 * * * root certbot renew --quiet && systemctl restart postfix dovecot nginx

上述内容表示每天凌晨 3 点运行 certbot renew 命令,如果证书已更新,则重启 Postfix 和 Dovecot 服务。

#重载服务,以应用更改
systemctl restart postfix dovecot nginx

第 5 步:配置防火墙

如果您的服务器启用了防火墙,请运行以下命令以允许邮件服务器相关的端口:

sudo ufw allow 25,80,110,143,443,465,587,993,995/tcp

第 6 步:选择性配置

如果服务器性能较低,可以考虑

禁用 iRedMail 灰名单
找到 VPS 文件,/opt/iredapd/settings.py
将其中的 ”greylisting ” 这项删去即可

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

然后,重启 iredapd

service iredapd restart

测试 iRedMail 邮件服务器

https://你的域名/mail ——邮件登录地址
https://你的域名/netdata ——服务器状态监控
https://你的域名/iredadmin ——邮件服务器后台管理

管理员账号:postmaster@你的域 例如 [email protected]
管理员密码:安装时候设置的密码
以上信息,可以在 /root/iRedMail-1.5.1/iRedMail.tips 文件中查看

登录你的邮件服务器,里面的三封邮件是系统发过来的。

尝试用该邮件发送以及接收其他邮件的邮件,若是严格按照上面来配置,应该是一点问题都没有。

最后,我们访问 https://www.mail-tester.com/

按照网页上面给出的邮箱地址,我们用刚才搭建好的邮件服务器给这个地址发送一封邮件,然后点击测试。

按照提示做适当的修改!

用刚才创建的用户,给 GMAIL 发一封邮件试试。

更多内容可以参考官方文档

智云海Telegram频道
技术支持:[email protected]
站长E-mail:[email protected]
如需转载,请注明文章出处
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇