Postfix + Extmail 企业邮件服务器搭建

news2024/10/6 8:40:26

ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。

Centos7安装包打包: https://cdn.lyshark.com/courseware/Extmail.zip

初始化安装基础环境

1.安装各种依赖文件以及数据库

yum install -y gcc* bind mysql mysql-server mailx httpd

2.安装bind以及配置相关文件

修改/etc/named.conf

修改数据文件

在另一台上测试dns是否能解析mail.extmail.org

3.启动数据库,并设置初始密码

service mysqld restart
mysqladmin -u root password 123123

开始配置PostFix

1.创建独立的目录存储网页

2.将extmail和extman解压到创建的目录中,并改名去掉后缀

tar -xzvf extmail-1.2.tar.gz -C /var/www/extsuite/
tar -xzvf extman-1.1.tar.gz -C /var/www/extsuite/

cd /var/www/extsuite/

mv extmail-1.2/ extmail
mv extman-1.1/ extman

3.将 /var/www/extsuite/extman/docs中模板和数据导入到数据库中

4.将init.sql模板文件修改密码后导入数据库中

生成MD5加密密码,此密码应与数据库密码同步

修改密码文件并导入数据库 vim /var/www/extsuite/extman/docs/init.sql

将init.sql文件导入数据库

5.将虚拟目录的模板拷贝到邮件服务器的主目录下

cp -a mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/

6.创建真实的映射用户 useradd -u 600 vmail

7.修改邮件服务的主配置文件 vim /etc/postfix/main.cf

8.依次执行以下语句,在postfix主配置文件中加入

postconf -e inet_interfaces=all
postconf -e virtual_mailbox_base=/home/vmail
postconf -e virtual_uid_maps=static:600
postconf -e virtual_gid_maps=static:600

postfix读取模板文件

postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

9.重启服务postfix , 发送一个邮件测试PostFix是否正常工作

/etc/init.d/postfix restart
echo "hello world" | mail -s test support@extmail.org

注意:如果/home/vmail下存在extmail.org目录则表示postfix成功

配置MDA邮件接收相关软件

1.安装dovecot相关软件,启动dovecot

yum install -y dovecot dovecot-mysql
service dovecot start

2.接下来配置dovecot能够去数据库里读数据

1)修改vim /etc/dovecot/conf.d/10-mail.conf

2)修改vim /etc/dovecot/conf.d/10-auth.conf

3)修改如何在数据库里读取数据的文件 cd /etc/dovecot拷贝模板

cp /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext ./
vim dovecot-sql.conf.ext 

4)依次修改文件

MAIL+WEB安装Web图形界面

1.安装Apache

yum install -y httpd

2.修改主配置文件

vim /etc/httpd/conf/httpd.conf

写入:
NameVirtualHost *:80					#打开基于域名的虚拟主机
<VirtualHost *:80>
      ServerName www.example.com
      DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
      ServerName mail.extmail.org
      DocumentRoot /var/www/extsuite/extmail/html/
      ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
      Alias /extmail /var/www/extsuite/extmail/html
      ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
      Alias /extman /var/www/extsuite/extman/html
      SuexecUserGroup vmail vmail
</VirtualHost>

3.extmail中更改cgi的属组属主,让vmail有权限执行

chown vmail:vmail -R /var/www/extsuite/extmail/cgi/

先生成配置文件,再修改配置文件

cd /var/www/extsuite/extmail
cp webmail.cf.default webmail.cf
vim webmail.cf

4.extman中更改cgi的属组属主,让vmail有权限执行

chown vmail:vmail -R /var/www/extsuite/extman/cgi/

先生成配置文件,再修改配置文件
cd /var/www/extsuite/extman
cp webman.cf.default webman.cf
vim webman.cf

5.安装Unix-Syslog这个软件

tar -xzvf Unix-Syslog-1.1.tar.gz
cd Unix-Syslog-1.1
perl Makefile.PL
make && make install

yum install -y *CGI 
yum install -y perl-GD
yum install -y perl-GD-2.44-3.el6.x86_64.rpm
yum install -y rrdtool-perl-1.3.8-7.el6.x86_64.rpm

6.重启服务,并设置开机自启

service named restart
service mysqld restart
service dovecot restart
service httpd restart

chkconfig named on
chkconfig mysqld on
chkconfig dovecot on
chkconfig httpd on

此时配置已经完成:

http://mail.extmail.org/extmail				#访问客户端
http://mail.extmail.org/extman				#管理员登陆

注意:

如果登陆管理员后台提示:No such file or directory

则运行自动生成一个目录:/var/www/extsuite/extman/daemon/cmdserver -d

页面是这样的,难看,自己美化一下就好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据预处理和特征工程-sklearn

数据挖掘的五大流程&#xff1a; 获取数据数据预处理 数据预处理是从数据中检测&#xff0c;纠正或删除损坏&#xff0c;不准确或不适用于模型的记录的过程。 数据预处理的目的&#xff1a;让数据适应模型&#xff0c;匹配模型的需求特征工程 特征工程是将原始数据转换为更能代…

NLP 中文智能纠错 API 数据接口

NLP 中文智能纠错 API 数据接口 专注于中文语句智能纠错&#xff0c;基于 NLP&#xff0c;多模型参与纠错。 1. 产品功能 秒级 NLP 智能纠错性能&#xff1b;NLP 加载多个模型进行纠错处理&#xff1b;返回纠正字符以及对应位置索引&#xff1b;底层模型以及语料库持续更新集…

正大国际期货:五十句期货投资理念

1.许多期货投资人交易时没有计划。交易前&#xff0c;他们既不设定风险限度&#xff0c;也不设定盈利目标。即使是制定了计划&#xff0c;他们总是“半路出家”&#xff0c;并不坚持既定的计划&#xff0c;尤其是在出现亏损的情况下。结果往往是过量操作&#xff0c;把自己逼在…

Android 操作系统简介

Android 操作系统简介1. 起源2. 操作系统市场占有率3. Android 系统架构3.1 Linux Kernel3.2 Hardware Abstraction Layer (HAL)3.3 运行时 系统库3.3.1 Android Runtime3.3.1 Native C/C Libraries3.4 Java API Framework3.5 System Apps1. 起源 安卓&#xff08;Android&…

程序员年底如何升职加薪?这份涨薪指南来了!

年底了&#xff0c;这个时间节点对于各个公司来说都很重要。 今年大家也知道情况&#xff0c;互联网整体行情都不太好&#xff0c;国外也不好过&#xff0c;硅谷裁员大刀阔斧&#xff0c;实实在在的 感受到了寒意。 能顺利熬到年底的程序员&#xff0c;现在就会关心“公司会普调…

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1. 三大组件简介 Channel 与 Buffer Java NIO 系统的核心在于&#xff1a;通道 (Channel) 和缓冲区 (Buffer)。通道表示打开到 IO 设备 (例如&#xff1a;文件、套接字) 的连接。若需要使用 NIO 系统&#xff0c;需要获取用于连接 IO 设备的通道 以及用于容纳数据的缓冲区。然…

黑客使用虚假 DDoS 保护页面分发恶意软件

WordPress 网站被黑客入侵后显示欺诈性 Cloudflare DDoS 保护页面&#xff0c;这些页面被用于分发恶意软件&#xff08;例如 NetSupport RAT 和 Raccoon Stealer&#xff09;。 “最近针对 WordPress 网站的 JavaScript 注入激增&#xff0c;通过弹出虚假的 DDoS 阻止提示&…

DaVinci:跟踪器 - 窗口

调色页面&#xff1a;跟踪器Color&#xff1a;Tracker跟踪器 - 窗口 Tracker - Window&#xff0c;是 DaVinci Resolve 提供的一款强大的跟踪工具。可以利用窗口调板所设置的窗口区域&#xff0c;通过自动分析之后&#xff0c;在此区域内产生许多如云状分布的特征点&#xff08…

Java8 Stream详细用法介绍

Java8 Stream详细用法介绍一、Stream概述1.1、流的定义1.2、流与集合1.3、流的特性1.4、Stream的创建1.5、Stream操作分类二、Stream API 使用2.1 中间操作2.1.1、filter() 过滤2.1.2、map与flatMap 映射2.1.3、sorted() 排序2.2 终止操作2.2.1、forEach() 遍历2.2.2、collect(…

ThinkPHP 多应用模式下访问其他应用忽略入口文件

目录 问题描述&#xff1a; 解决方法&#xff1a; 1.配置两个域名分别指向项目public目录 2.项目全局配置域名绑定应用 问题描述&#xff1a; 使用TP6.0做多应用项目开发&#xff0c;分为前端Api和后台管理 项目中已配置地址重写规则 Api为默认应用&#xff0c;可忽略入…

Allegro如何手动和自动10度走线操作指导

Allegro如何手动和自动10度走线操作指导 PCB上有时需要10度走线,可以有效的避免玻纤效应的产生,尤其是在应对高速设计的时候,Allegro支持10度走线如下图 具体操作如下 选择setup Parameter选择route

50个超级有用的JavaScript单行代码

在这篇文章中&#xff0c;我列出了一个系列的50个 JavaScript 单行代码&#xff0c;它们在使用 vanilla js&#xff08;≥ ES6&#xff09;进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。 我将它们分为以下5大类&#xff1a;…

波士顿房价数据集进行数据预处理和模型训练(Python)

目录 前言 一、数据预处理定义 二、波士顿房价数据进行数据预处理 2.1 下载波士顿房价数据集 2.2 查看数据集的描述、特征及数据条数、特征数量 2.3 将数据读入pandas的DataFrame并转存到csv文件 2.4 查看数据集各个特征的类型以及是否有空值 2.5 对数据集做中心化度量&a…

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

文章目录自动驾驶技术入门&#xff0c;先看平台Appllo主要优势版本更新新特性颠覆更新“新”架构全新加入软件包管理机制加入新感知模型感知全流程开放与提效全新PnC工具链写在最后自动驾驶技术入门&#xff0c;先看平台 近年来&#xff0c;自动化驾驶的话题越来越成为热点。对…

【十天成为红帽工程师】第六天 DNS域名解析服务器

目录 一、域名解析服务器的介绍 二、DNS域名解析的过程 三、搭建DNS服务器 一、域名解析服务器的介绍 DNS&#xff08;Domain Name System&#xff09;是互联网上的一项服务&#xff0c;它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互…

ChatGPT:新晋CV工程师

在短短的两个星期内&#xff0c;ChatGPT 迅速成为公众聊天的焦点。超过一百万的人与OpenAI的新聊天机器人“交谈”&#xff0c;让它写诗和大学论文&#xff0c;生成创意食谱&#xff0c;创建虚拟机…它也被用来撰写新闻文章和YouTube视频的介绍。作为计算机视觉公司的机器学习工…

Qt第五十一章:Qt样式表-Qss

目录 一、盒子模型 二、选择器 三、伪状态 四、字体 五、边框 六、背景 七、边距 八、示例大全 一、盒子模型 二、选择器 选择器示例描述通用选择器*匹配所有控件类型选择器QPushButton匹配给定类型控件&#xff0c;包括子类类选择器.QPushButton匹配给定类型控件&…

【PAT甲级 - C++题解】1032 Sharing

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;PAT题解集合 &#x1f4dd;原题地址&#xff1a;题目详情 - 1032 Sharing (pintia.cn) &#x1f511;中文翻译&#xff1a;共享 &#x1f4e3;专栏定位&…

[ 代码审计篇 ] 代码审计案例详解(二) XXE代码审计案例

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

年底了,手机通讯录和相册被恶意APP获取,看我如何破局?

☆ 最近几天突然收到一个朋友的深夜短信&#xff0c;被告知如果有人发送不明信息&#xff0c;或者发送任何不明链接&#xff0c;都不要点开。我经过问朋友&#xff0c;得知下载了一个恶意的APP&#xff0c;把通讯录和手机相册获取了。 ☆ 年底了&#xff0c;很多人发愁过年没有…