企业邮箱iRedMail搭建
本文最后更新于502 天前,其中的信息可能已经过时,如有错误请发送邮件到admin@ow123.asia

前言

用自己的域名作为邮箱的后缀,好看、有面子!

只要域名不过期,那么,你的邮箱就永远存在!

邮件系统很多,宝塔自带的邮局更是简单,但是若想邮箱可靠(丢邮件、发送邮件进入对方垃圾箱等),还是需要花费一点功夫。

首先 VPS 支持 PTR 反向解析,尤为重要,当然,也不是必须的,看你自己的取舍,若是没有 PTR ,会存在丢失邮件的情况

前台预览

准备工具

1、干净的 VPS(服务器) 一台,内存最好大于 1 GB,推荐 CentOS、Ubuntu,以下教程用 CentOS 演示,Ubuntu 请自行更换 yum 命令即可。

(CentOS 项目将重点转移到 CentOS Stream,CentOS 8 将在 2021 年底结束)

2、服务器最好支持 PTR Records

3、域名一个,推荐托管 cloudflare (解析生效快)或者你自己的域名解析平台

4、规划好作为邮件服务器的域名,演示用 mail.ow123.asia,把该域名解析到 VPS IP。

给域名绑定做预备

根域名必须有A记录解析哪怕解析到127.0.0.1上都行

本次使用mail.ow123.asia作为演示,根域名不使用(但一定要解析)

我们拿mail.ow123.asia来解析VPS的IP地址

1.先把根域名解析A记录

2.mail.ow123.asia解析到VPS的IP

3.将ow123.asia设置MX记录,解析值为mail.ow123.asia, 优先级设置为10

一、搭建 iRedMail 邮件服务器

1)设置 VPS 以及系统

更新系统、安装组件

apt update -y

2)设置 VPS 主机名

我们规划邮局的域名为 mail.ow123.asia,所以,我们需要对 VPS 的主机名进行设置。

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

127.0.0.1 mail.ow123.asia mail

其中, 127.0.0.1 可换为你的服务器 IP 地址,后面依次填入长主机名和短主机名,切记不可填反。

然后,我们找到 VPS 的 /etc/hostname 文件,编辑里面的内容为 mail (域名的前缀)

这样,就设置好了主机名。重启 VPS

此时我们检查一下是否设置正确:

执行:hostname

执行:hostname -f

此时,我们分别看到mail 和 mail.ow123.asia

这样,我们就全部设置好了主机名(hostname), 可以进行接下来的其他操作了

下载并安装 iRedMail

apt-get install git -y git clone https://github.com/iredmail/iRedMail.git cd iRedMail bash iRedMail.sh

系统将会自动开始安装。安装过程中会出现下面这些情况,您需要依次根据您自己的信息来设置。

  • 第一步,欢迎界面,两个选项,yes或no ,直接回车yes。
  • 第二部,设置安装目录,这里可以看到安装目录为/var/vmail 直接回车,下一步。
  • 第三步,选择web服务器,此时可以看到nginx前面有个星号,这代表已经被选中,如果没有星号,切换到nginx选项,按一下空格,星号出现,回车下一步。
  • 第四步,选择数据库,上下选择到MariaDB ,空格星号选中,回车下一步。
  • 第五步,设置数据库密码,自己设置。
  • 第六步,设置域,不带mail,就是maoge.pw。
  • 第七步,设置管理员账号的密码,不是设置账号,是密码,自己设置。
  • 第八步,选择需要安装的组件,默认即可,那个Sogo可安可不安,都行,不影响邮件服务,回车下一步。

设置完毕后,屏幕上会列出来这些信息,我们输入y确认安装。

安装需要大概10分钟左右。全部安装好之后,系统会提示是否设置防火墙规则,我们输入y确认即可。

重启服务器,让邮件服务器生效! 

至此,邮件服务器搭建完毕,以下开始设置邮件服务器。可以通过访问(当然,我们目前还没有解析域名,后面一起解析)

https://你的域名/mail ——邮件登录地址

https://你的域名/netdata ——服务器状态监控

https://你的域名/iredadmin ——邮件服务器后台管理

管理员账号:postmaster@你的域

例如 postmaster@163.com

管理员密码:安装时候设置的密码 以上信息

可以在 /root/iRedMail-1.4.2/iRedMail.tips 文件中查看

配置 iRedMail 邮件服务器

申请证书

安装证书脚本

apt-get install certbot

然后,即可申请免费的Let’s Encrypt证书:

certbot certonly --webroot -d mail.ow123.asia -w /var/www/html/

这个申请命令后会要求填入邮箱地址

然后根据提示输入A,然后他会提示给你发广告邮件输入N不同意,

生成的公钥在路径 /etc/letsencrypt/live/mail.ow123.asia/fullchain.pem

私钥 /etc/letsencrypt/live/mail.ow123.asia/privkey.pem

配置证书

申请完毕后,我们首先配置Nginx.

编辑文件/etc/nginx/templates/ssl.tmpl, 找到下面两行:

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

将地址替换为您的证书地址,我这里是:

ssl_certificate /etc/letsencrypt/live/mail.ow123.asia/fullchain.pem; 
ssl_certificate_key /etc/letsencrypt/live/mail.ow123.asia/privkey.pem;

保存好后重新载入Nginx配置文件:

service nginx reload

收发信时,同样需要用到TLS安全验证,因此我们还需要配置Postfix和Dovecot. 首先,编辑/etc/postfix/main.cf文件,找到下面这三行(我这里是第95 ~ 97行):

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/mail.ow123.asia/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.ow123.asia/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.ow123.asia/chain.pem

保存好之后重新载入Postfix配置文件。

service postfix reload

最后,给Dovecot配置证书。编辑文件/etc/dovecot/dovecot.conf, 找到下面这两行(我这里是第45和46行):

ssl_cert = </etc/ssl/certs/iRedMail.crt ssl_key = </etc/ssl/private/iRedMail.key

将其替换为您的证书地址:

ssl_cert = </etc/letsencrypt/live/mail.ow123.asia/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.ow123.asia/privkey.pem

保存好之后重新载入Dovecot配置文件。

service dovecot reload

这样,我们为Nginx, Postfix, Dovecot分别配置好了SSL/TLS安全证书。

禁用 iRedMail 灰名单

灰名单(greylist)是一项防止垃圾邮件的功能,iRedMail默认开启了该功能。但是,该功能开启之后,收所有信件的时候都有较长时间的延迟。因此,我们这里将该功能关闭。

我们首先给配置文件提权:

chmod +w /opt/iredapd/settings.py

然后编辑该文件(/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 chmod -w /opt/iredapd/settings.py

配置 DNS 及解析

设置 SPF 记录

您需要设置一条TXT记录,将根域名(比如我这里的ow123.asia)解析值设置如下。

内容为 v=spf1 mx ~all

设置 DMARC 记录

DMARC记录的设置比较复杂,我们这里先简单设置一下,对于普通的域名邮箱足够使用了。以ow123.asia域名为例,您需要添加一条TXT记录,将_dmarc.ow123.asia (请不要遗漏dmarc前面的那个下划线)解析值设置为如下:

v=DMARC1; p=none; pct=100; rua=mailto:dmarc@ow123.asia

设置 DKIM记录

配置DKIM记录之前,我们先要生成DKIM密钥。在SSH中执行:

amavisd-new showkeys

将括号内的文本 去除引号以及空格并相连 就是咱们的 DKIM 数据,在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是咱们组合出的文本

后记

Perfect!mail-tester 测试10分!满分10!多棒的企业/个人邮件服务器,还担心会丢邮件吗?

其实有些人,觉得免费邮箱已经够用了,所以,此教程送给爱折腾、希望邮件自由的小伙伴们。

如果觉得本文不错,可以赞赏一下作者哦~
暂无评论

发送评论 编辑评论


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