利用iRedMail搭建私有化邮件服务器 iRedMail 免费、开源邮件服务解决方案

自然
344
文章
383
评论
2019年7月16日20:18:51 3 2328字阅读7分45秒

在现实应用场景中,部分企业由于各种原因不能使用公众化的企业邮箱服务,又无奈如何进行企业邮件统一化。这时,我们可能需要自建一个邮件服务器来完成自由化的邮件交互服务。 iRedMail是一款免费开源的邮件服务器装载软件,2007年开始提供邮件服务器解决方案,有着长远的技术积累。

利用iRedMail搭建私有化邮件服务器 iRedMail 免费、开源邮件服务解决方案

iRedMail以最佳的方式搭建基于 Linux/BSD 和开源软件的邮件服务器。支持 Red Hat Enterprise Linux、CentOS、Debian、Ubuntu、FreeBSD、OpenBSD等发行系统,只需几分钟,iRedMail 即可为您部署一台完全基于开源软件、功能完善的邮件服务器,而且,免费。

准备

1、一台支持25端口的服务器,预装centos7系统,国内主机大部分禁用了;

2、为服务器设置一个完整的主机名(主机域名),使用vim /etc/hostname修改主机名,例如mx.wanvi.net;

3、使用vim /etc/hosts,将127.0.0.1 mx.wanvi.net mx localhost localhost.localdomain添加为第一条;

4、禁用 SELinux,使用vim /etc/selinux/config修改参数为SELINUX=disabled

5、用reboot重启服务器使配置生效

iRedMail安装

下载页面下载最新版本安装包,解压,进入安装目录,运行bash iRedMail.sh进入安装程序。

cd /root/
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2
tar xjf iRedMail-0.9.9.tar.bz2
cd iRedMail-0.9.9

欢迎界面,选择Yes按Enter键进入下一步

指定用于存储用户邮箱的路径。默认是 /var/vmail/

选择用于前端访问的服务程序,默认就是Nginx

选择用于存储邮件账号的数据库,各个数据库之间没有太大区别,建议使用自己熟悉的数据库,便于后期维护,这里我们选在MariaDB/MySQL

添加一个邮件域名,例如自然使用wanvi.net,则管理员账户为postmaster@wanvi.net

为postmaster@wanvi.net设置一个登陆密码

可选组件,一般默认的就可以,如果需要可自己鼠标点击添加

上面的基本信息录入后我们一路回车,看见提示就输入y

安装完成会列出各个后台地址及管理员账户与密码,

邮局web地址:https://mx.wanvi.net/mail/

SOGo地址(默认不按照,可选项目): https://mx.wanvi.net/
Web 管理后台: httpS://mx.wanvi.net/iredadmin/
Awstats: httpS://mx.wanvi.net/awstats/awstats.pl?config=web (or ?config=smtp for SMTP log)

提示上面的信息后,会要求重启服务器,执行reboot完成重启。

配置DNS解析

服务器部分比较简单,那么下就是配置DNS解析部分,让我们可以愉快的收到外部邮件。

DNS解析方面不做过多的解释,直接上解析记录

1、记录类型A,主机名mx,记录值服务器IP地址

2、记录类型mx,主机名@,记录值mx.wanvi.net

3、记录类型TXT,主机名@,记录值v=spf1 ip4:邮件服务器IP地址 -all

4、最关键的时候到了DKIM记录设置,这一步作为单独讲解。

sfp和dkim是收件服务器评估垃圾邮件的一个重要指标,想让你的邮件少进垃圾邮箱,就要认证配置。

打开ssh远程终端执行amavisd showkeys,输出内容如下:

[root@mx ~]# amavisd showkeys
; key#1 1024 bits, i=dkim, d=mx.wanvi.net, /var/lib/dkim/mx.wanvi.net.pem
dkim._domainkey.wanvi.net.	3600 TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDChAmsRxhgK5OJUbAQWjzACDHd"
  "Y9RDqbuBdOXKm152zeyVRSvR5EG33xp6cIe4+j+M267in1qF+ZGv1Os5qgFyPIyX"
  "HalEKAoKBagqVVULcAxT4DpP5KxaQK0p6CC8ewgIWVe73OEkoTe+4nCz3Yjg/eDL"
  "o5wn7Rh2MTQa23vrjQIDAQAB")

[root@mx ~]#

我们将v=DKIM后面的内容全部复制出来,删除全部的空格、引号和括号,保存备用。然后再DNS上添加一条TXT记录。

记录类型TXT,主机名@,记录值

v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDChAmsRxhgK5OJUbAQWjzACDHdY9RDqbuBdOXKm152zeyVRSvR5EG33xp6cIe4+j+M267in1qF+ZGv1Os5qgFyPIyXHalEKAoKBagqVVULcAxT4DpP5KxaQK0p6CC8ewgIWVe73OEkoTe+4nCz3Yjg/eDLo5wn7Rh2MTQa23vrjQIDAQAB

至此DNS的解析工作已经完成了,如果你怕自己的Spf和DKim配置存在问题,可以通过下工具进行检测http://dkimvalidator.com/,工具会生成一个随机邮箱,你使用邮件服务器向其发送一份邮件,两分钟后点击View Results查看结果。

weinxin
自然博客
快来关注一下,一个linux运维爱好者的个人博客!
Linux最后更新:29/8/2019
  • 本文由 发表于 2019年7月16日20:18:51
Linux使用密钥对登录 提升安全等级 Linux

Linux使用密钥对登录 提升安全等级

自然经常遇到一个问题,每次登录服务器经常可以开到这么一句提升“本次登录成功前,已有9w+次认证失败”,毫无疑问,这是被人爆破了。服务器经常被人爆破,如果你的密码太多与简单,有可能会把密码爆破出来。自然...
debian配置systemd服务并设置开机启动 Linux

debian配置systemd服务并设置开机启动

debian环境下我们经常需要开机时运行某个xx.sh文件来实现自动化运维的部分功能,相对于使用单纯额xx.sh来进行自动化运维,可以有更好的选择systemd。systemd更加通用,适用于Cent...
使用qemu-nbd挂载并编辑qcow2 磁盘镜像 Linux

使用qemu-nbd挂载并编辑qcow2 磁盘镜像

封装vps镜像的大致步骤是安装原版系统ISO,然后添加驱动程序并修改参数,最后打包成镜像文件,常用镜像就是qcow2。许多vps镜像都有初始化脚本,我们部署vps后修改vps参数,再次打包镜像,会造成...
debian10网卡设置 Linux

debian10网卡设置

debian系统的网络配置和centos略有差别,centos是一个网卡采用一个设备文件进行信息的描述,而debian系统则是全部网卡配置集中在一个文件里面,粗浅的考虑是方便管理吧。debian系统的...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:3   其中:访客  2   博主  1
    • 心灵博客 心灵博客 4

      现在主要是25端口到处都封了,并且做邮件的ip也要养

      • 七夕夫人 七夕夫人 1

        文章够专业,学习了