iRedMail搭建笔记
1.前言
原本的邮件服务器是搭建在fastpanel面板上的,个人使用了段时间其实也是很稳定。因为最近陆续把一些项目转移到了新的服务器上,基本也都docker化,不得不说不管是搭建,管理,备份,转移都还是docker方便。然后原来部署fastpanel的机器基本也是空闲,既然之前用作过邮件服务器像rDNS记录和各种解析记录也在,关键是25端口也是开着的,那么就干脆直接改成iRedMail。
官网地址:https://www.iredmail.org
官方文档:https://docs.iredmail.org/index.html
2.搭建过程
首先用git把iRedMail的仓库克隆下来,进入文件夹后直接安装
apt update -y
apt install git -y
git clone https://github.com/iredmail/iRedMail.git
cd iRedMail
bash iRedMail.sh
进入安装界面后回车基本保持默认就行
这里数据库选择MariaDB
设置数据库密码
这里填写自己的发信域名,并设置管理员邮箱密码
这里面板选Roundcube就行保持默认
之后会跟你确认安装的所选的配置信息,按y继续,若之前设置有误可按n后进行重新安装设置
之后就是正式的安装,整个过程我用了5分钟左右,全部安装完后会提示设置防火墙,一路y就行,
最后reboot重启服务器后搭建完成,之后进入配置过程。
3.配置Nginx, Postfix, Dovecot
1.安装SSL证书
这里用Let’s Encrypt证书配置SSL
apt install certbot
certbot certonly --webroot -w /var/www/html -d mx.monoko.jp
输入上面命令后需要输入自己的一个邮箱来完成证书申请
生成的证书地址为/etc/letsencrypt/live/mx.monoko.jp文件夹内,一共有四个。分别是:
cert.pem
: 服务器证书。
chain.pem
:Web 浏览器需要额外的中间证书或证书以验证服务器证书。
fullchain.pem
:所有证书,包括服务器证书(又名叶证书或最终实体证书)。服务器证书是此文件中的第一个证书,然后是任何中间证书。
privkey.pem
:证书的私钥。
运行下面命令可查看证书状态,会显示所有现有证书和到期日期
certbot certificates
申请完证书后下一步开始配置Nginx
2.配置Nginx
nano /etc/nginx/templates/ssl.tmpl
在ssl.tmpl
文件里找到下面两行
ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;
将后面的地址替换为刚刚申请下来证书的的地址
ssl_certificate /etc/letsencrypt/live/mx.monoko.jp/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mx.monoko.jp/privkey.pem;
保存好后重新载入Nginx配置文件
service nginx reload
3.配置Postfix
除了SSL还需要用到TLS安全验证,继续配置Postfix
nano /etc/postfix/main.cf
在main.cf
文件里,找到下面这三行
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
将后面的地址替换为刚刚申请下来证书的的地址
smtpd_tls_key_file = /etc/letsencrypt/live/mx.monoko.jp/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mx.monoko.jp/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mx.monoko.jp/chain.pem
保存好后重新载入Postfix配置文件
service postfix reload
4.配置Dovecot
最后,给Dovecot配置证书
nano /etc/dovecot/dovecot.conf
在dovecot.conf
文件里,找到下面这两行
ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key
将后面的地址替换为刚刚申请下来证书的的地址
ssl_cert = </etc/letsencrypt/live/mx.monoko.jp/fullchain.pem
ssl_key = </etc/letsencrypt/live/mx.monoko.jp/privkey.pem
保存好之后重新载入Dovecot配置文件
service dovecot reload
至此,Nginx, Postfix, Dovecot的SSL/TLS安全证书已配置完成。
4.禁用iRedMail灰名单
首先给配置文件提权
chmod +w /opt/iredapd/settings.py
编辑settings.py
文件
nano /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
chmod -w /opt/iredapd/settings.py
5.DNS解析
因为我这台机器之前就有做邮件服务器的所以本来就都有解析记录的,唯一要变的是DKIM记录,因为这个是要新生成的DKIM密钥。
1.DKIM记录
在SSH中执行
amavisd-new showkeys
会看到类似于下面的密钥
这里需要将文本内所有多余引号及空格去除,连将这些字符串拼接起来成为完整一段如下
v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3iZdbKqPd3LWup5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYRQl8Weu1f3k5sLZkha8CPa12QIDAQAB
添加TXT记录,名称为
dkim._domainkey
,内容为上述内容。
2.DMARC记录
添加TXT记录,名称为_dmarc
,内容为v=DMARC1; p=none; pct=100; rua=mailto:dmarc@monoko.jp
3.SPF记录
添加TXT记录,名称为根域名
,内容为v=spf1 mx ~all
4.MX记录
将根域名设置 MX 记录为自己的邮件域名地址mx.monoko.jp
,优先级为 10
5.邮件服务器域名解析
设置一个A记录,解析到邮件服务器IP地址。
关于解析其实在搭建前就应该把基本的邮件服务器域名A记录解析好,因为在申请证书时需要有解析好的域名不然申请不了。以及像rDNS,hostname这些也应该在最初都设置好。
6.创建新用户及邮箱评分测试
访问 https://mx.monoko.jp/iredadmin 进入管理员后台,管理员用户名和密码就是最初安装时设置的。
创建好一个用户并登陆,打开测试网站:https://www.mail-tester.com/ 根据提示向所给的邮箱发送一封测试邮件
测试结果得分10分,稳如狗,SPF,DKIM,DMARC也均通过了验证,rDNS记录也没问题。
至此,iRedMaily邮件服务器已全部搭建完成。经实际测试收发件的速度是相当的给力。
7.客户端配置
最后客户端的配置就很简单了。
smtp,pop,imap地址均为mx.monoko.jp,端口是常用的端口(SMTP: 25/587, POP3: 110/995, IMAP: 143/993)。