教你自己搭建linux邮箱服务器
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt290
现在网络中流行的电子邮件系统主要有Microsoft Exchange、Lotus Notes、Imail等等。Windows操作系统应用广泛,但是却漏洞也多。如何建立一个价廉而又安全的邮件服务平台呢。下面我们以 Linux+Qmail邮件系统组合为例,建立一个Linux平台的邮件系统。
Linux操作系统是开放的多用户多任务操作系统,能完成几乎所有的Windows操作系统功能。Linux可以采用字符界面模式运行服务,与 Windows华丽的图形界面比较起来,可以节约大量的系统资源用于服务,从而降低了对硬件的要求。下面我们要用到的Linux和Qmail都是共享免费 软件,可以从互联网上任意下载。
Qmail是Linux平台下一个模块化设计的邮件系统,每一个子功能都是由一个运行程序来实现。Qmail只是一个MTA(Mail Transport Agent,邮件传输代理),其他的功能如虚拟域名管理、数据库支持、WebMail等等,都需要其他程序来配合完成。Qmail的安全性非常高,网上很 多知名的邮件服务上如Hotmail、Yahoo,等都是采用其作为其邮件平台的核心。
安装准备
1.拥有一台网络服务器
Qmail的设计目标是在一台奔腾机器上最终达到每天可以投递大约百万级数目的邮件,一般实际应用中,我们可以选用中低档次的服务器(1~2块 800MHz的CPU、1GB左右的内存、70GB左右的SCSI硬盘)就可以轻松满足百万用户数、千万次的邮件投递需求。这样的性能对于大型的机关企业 甚至一个小型的网络运营商都足够了。
Qmail对于网络链路的要求也很低,一条普通的ADSL专线就可以达到专业应用。Qmail的邮件队列管理非常完善,而且采用了Maildir的邮 件保存格式,在传递过程若发生网络中断、甚至在写入磁盘过程中服务器突然掉电,也不会出现邮件丢失或者损坏的情况,保障了用户数据的安全和完整性。
2.安装Linux服务器版操作系统
我们选用的是RedHat9,或者可以用服务器专用的最新版本RedHat Enterprise Linux Advance Server 3.0 版本。
RedHat9有非常漂亮的系统安装界面,需要注意的是我们以后要用到几个模块必须在安装的时候选择进去:apache、SQL/" target="_blank" class="keylink">mysql、 PHP、SQL/" target="_blank" class="keylink">mysql—devel,其他用不上的服务和协议一律不安装。为了达到服务器最佳性能,我们只运行操作系统的字符 界面,所以两种图形界面也不需要了。一般我们安装完操作系统后,调试应用程序都是通过网络远程进行的,我们需要添加两个服务:Vsftpd和VNC。
3.下载Qmail及其安装文件
我们需要用到的程序或者代码大致包括以下几类:
(1)操作系统补丁,用来完善和升级系统相关协议。
(2)Qmail、Vpopmail主程序及其相关升级文件。
(3)Web邮件收发系统:iGenus或者Sqwebmail,两者任选一种。
(4)后台管理程序:包括Qmailadmin、邮件列表、账号申请程序等。
安装调试与配置
这里我们只介绍大致的安装过程,着重讲述的是每个模块的功能和原理,实际具体的安装步骤请参考安装文档。
1.Qmail及Vpopmail安装
我们将要建立的是可以满足百万用户数的专业级邮件系统,同时也要满足不同用户组也就是多个虚拟域使用,所以我们需要用数据库来管理所有的虚拟域和邮件用户。
首先安装Qmail1.03版本及其相关补丁,运用tar命令解压缩程序源代码,make setup编译安装,输入配置系统的默认虚拟如mail.xiangshan.com。由于Linux系统自带有一个邮件系统Sendmail,它和 Qmail一样是一个MTA,所以在这里要让它停止服务(如图1)。
接着安装Vpopmail程序,它的作用是将Qmail和mysql数据库完美地结合起来,今后只要操作mysql数据库就可以全面管理Qmail的用户和信息了。安装成功以后,就可以利用Vpopmail程序的各种命令来建立虚拟域、用户名和密码、用户邮箱的大小等等。
这样,邮件系统的核心已经安装完成,我们已经可以通过Outlook、Foxmail等邮件客户端软件来收发虚拟域的邮件。
2.Web页面收发系统
我们采用的Web Mail系统是iGenus(如图2),iGenus 不是一套独立的邮件系统,只是一个 WebMail 接口,需要配合Qmail+Vpopmail+mysql 使用。iGenus采用直接对Qmail的Maildir 进行读写操作,因而比 IMAP/POP 方式更快一点。而且,这种方式也保证了在操作系统掉电或者突然崩溃的情况下,不至于破坏整个信箱。结合mysql数据库,iGenus还提供了目前流行的 网络硬盘存储、部门会议通知、日程安排等实用功能。
3.辅助管理维护系统
对于网络管理员来说,还需要对用户邮件虚拟域以及整个邮件服务器运行状况的管理功能,比如:用户账号申请、账号维护、建立新的虚拟域、限制邮件数量和磁盘配额、查看某个虚拟域的收发流量等等。
(1)安装Qmailadmin:可以完成对某个虚拟域中邮件账号的添加/删除和密码维护工作,也可以对某个账户进行停用启动以及转发邮件机器人邮件列表等设置。
(2)安装iGenus Admin:这是一个基于Web的虚拟域管理程序,可以完成虚拟域的建立定义维护和用户账号的维护,功能要比Qmailadmin强大。
(3)安装Isoqlog:Isoqlog是一个Qmail日志分析工具(如图3),可以分析和统计Qmail的运行日志,将诲涩难懂的日志转换成便于我们阅读和能够理解的报告,并生成漂亮的HTML格式的报表,管理员就可以通过浏览器来查看这些报表。
(4)安装QmailMRTG:多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具,MRTG 产生包含图表的HTML网页,它可以将系统中的通信情况实时显示在页面上(如图4)。
随着用户的增加,邮箱用户和虚拟域用户将会越来越庞大,管理员可以利用iGenus建立和管理每个虚拟域的数据,然后将每个域的Postmaster 账号密码告诉域管理员,让其通过Qmailadmin来建立和维护自己的每个用户信箱。同时,利用isoqlog和QmailMRTG分别观察各个域及其 用户的使用状况,以及整个服务器的运行状况,分析系统的各种运行参数来判断系统故障和潜在问题,最大限度保障邮件服务长时间高效运行。
后续开发和应用
垃圾邮件(SPAM)和邮件病毒是绝大多数网络管理员和邮箱用户最为关心的问题,SpamAssassin是一款高效实用的反垃圾邮件程序,用它几乎可以抵挡网络上95%的垃圾信息,而邮件服务器的效率却没有明显的降低。
病毒是除了垃圾邮件以外最让人头痛的邮件问题。ClamAV是Unix平台下免费的电子邮件防毒软件,提供线上及时更新病毒码的服务。ClamAV 目前可以侦测超过40,000 种病毒、蠕虫、木马程序,并且随时更新数据库,在极短的时间内,互联网上采用ClamAV的邮件服务器就完成最新的防护动作。
Qmail系统从头到尾都是一个开源系统,您可以在详细了解系统源代码后自己写这一部分的代码,从而让邮件系统更加个性化和专业化。
教你自己搭建linux邮箱服务器的更多相关文章
- 前端搭建Linux云服务器,Nginx配置详解及部署自己项目到服务器上
目录 搭建Linux云服务器 购买与基本配置 链接linux服务器 目录结构 基本命令 软件安装 Linux 系统启动 启动过程 运行级别 Nginx详解 1.安装 方式一:yum安装 方式二:自定义 ...
- Postfix+dovecot搭建简单邮箱服务器
实验环境: (1)修改主机名:hostnamectl set-hostname mail.meilintong.com 退出,重新登陆 (2)关闭selinux (3)关闭防火墙 1.安装postfi ...
- 搭建Linux虚拟服务器
1.搭建Linux虚拟机环境安装VMware Workstation 14下载地址:https://www.cr173.com/soft/68480.html密钥:FF31K-AHZD1-H8ETZ- ...
- 教你如何架设linux邮件服务器postfix
检查linux是否有安装postfix和dovecot 检查命令如下: Rpm -qa |grep postfix; Rpm –qa |grep dovecot; 如果没有显示任何数据,表明没有安 ...
- 用Apache James 3.3.0 搭建个人邮箱服务器
准备域名 比如域名为example.net,则邮箱格式为test@example.net.在自己的域名管理界面,添加一条A记录(mail.example.net xxx.xxx.xxx.xxx),指 ...
- CentOS 7搭建Linux GPU服务器
1. CUDA Toolkit的安装 到https://developer.nvidia.com/cuda-gpus查询GPU支持的CUDA版本: 到https://developer.nvidia. ...
- 搭建linux远程服务器和传输下载文件
其实,将ubuntu系统设置为服务器很简单,只需要开启ssh服务就可以了.开启了ssh服务以后,其它电脑就可以通过ssh登录你的这台ubuntu服务器.SSH分客户端openssh-client和op ...
- CentOS7下搭建postfix邮箱服务器并实现extmail的web访问
http://blog.51cto.com/zero01/2064693 https://blog.csdn.net/a5nan/article/details/52510887
- windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱
1.简介 由于需要较多邮箱,如果去注册需要很多的手机号码去验证,一个人不可能买一堆的手机号,所以自己搭建一个邮箱服务器可以大批量的创建自己的邮箱账号和收发邮件. 2.安装部署hmailserver 下 ...
随机推荐
- ASP.NET Core 源码学习之 Logging[2]:Configure
在上一章中,我们对 ASP.NET Logging 系统做了一个整体的介绍,而在本章中则开始从最基本的配置开始,逐步深入到源码当中去. 默认配置 在 ASP.NET Core 2.0 中,对默认配置做 ...
- Spring @Transactional 使用
Spring @Transactional是Spring提供的一个声明式事务,对代码的侵入性比较小,只需考虑业务逻辑,不需要把事务和业务搞混在一起. @Transactional 可以注解在inter ...
- Eclipse错误:Implicit super constructor ClassName is undefined for default constructor. Must define an explicit constructor
public class Test01 { private String name; private int age; public Test01(String name){ this.name = ...
- swift3.0 点击UIScrollView中输入框之外的区域关闭键盘
通过点击事件实现关闭键盘 scrollView: UIScrollView! title_textField: UITextField! let hideKeyboardTapGesture = UI ...
- linux 自动备份数据库
首先在你的项目合适的地方建立一个执行备份数据库的脚本 下面我建立一个叫 mysqlBackups.sh 的脚本内人如下: #!/bin/sh # Database info DB_NAME=" ...
- 66. Plus One【leetcode】
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. Yo ...
- 1.怎样控制div中的图片居中
答案如下: #div{ width: 100%; height: 100%; border: 1px solid #000; text-align: center;}#div img{ vertica ...
- 【社交系统研发日记】如何在 Laravel 中 “规范” 的开发验证码发送功能
顺便发个小通知:7月15日ThinkSNS+开源版发布,同时非开源的APP也走出内测阶段,体验二维码也全面发布体验. 什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统 ...
- FTP服务
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 "文传协议" 用于Internet上的控制文件的双向传输.同时,它也是一个应用程序( ...
- Linux下进程描述(1)—进程控制块
进程概念介绍 进程是操作系统对运行程序的一种抽象. • 一个正在执行的程序: • 一个正在计算机上执行的程序实例: • 能分配给处理器并由处理器执行的实体: • 一个具有普以下特征的活动单元:一组指令 ...