详见: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邮箱服务器的更多相关文章

  1. 前端搭建Linux云服务器,Nginx配置详解及部署自己项目到服务器上

    目录 搭建Linux云服务器 购买与基本配置 链接linux服务器 目录结构 基本命令 软件安装 Linux 系统启动 启动过程 运行级别 Nginx详解 1.安装 方式一:yum安装 方式二:自定义 ...

  2. Postfix+dovecot搭建简单邮箱服务器

    实验环境: (1)修改主机名:hostnamectl set-hostname mail.meilintong.com 退出,重新登陆 (2)关闭selinux (3)关闭防火墙 1.安装postfi ...

  3. 搭建Linux虚拟服务器

    1.搭建Linux虚拟机环境安装VMware Workstation 14下载地址:https://www.cr173.com/soft/68480.html密钥:FF31K-AHZD1-H8ETZ- ...

  4. 教你如何架设linux邮件服务器postfix

    检查linux是否有安装postfix和dovecot 检查命令如下: Rpm  -qa |grep  postfix; Rpm –qa |grep dovecot; 如果没有显示任何数据,表明没有安 ...

  5. 用Apache James 3.3.0 搭建个人邮箱服务器

    准备域名 比如域名为example.net,则邮箱格式为test@example.net.在自己的域名管理界面,添加一条A记录(mail.example.net  xxx.xxx.xxx.xxx),指 ...

  6. CentOS 7搭建Linux GPU服务器

    1. CUDA Toolkit的安装 到https://developer.nvidia.com/cuda-gpus查询GPU支持的CUDA版本: 到https://developer.nvidia. ...

  7. 搭建linux远程服务器和传输下载文件

    其实,将ubuntu系统设置为服务器很简单,只需要开启ssh服务就可以了.开启了ssh服务以后,其它电脑就可以通过ssh登录你的这台ubuntu服务器.SSH分客户端openssh-client和op ...

  8. CentOS7下搭建postfix邮箱服务器并实现extmail的web访问

    http://blog.51cto.com/zero01/2064693 https://blog.csdn.net/a5nan/article/details/52510887

  9. windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱

    1.简介 由于需要较多邮箱,如果去注册需要很多的手机号码去验证,一个人不可能买一堆的手机号,所以自己搭建一个邮箱服务器可以大批量的创建自己的邮箱账号和收发邮件. 2.安装部署hmailserver 下 ...

随机推荐

  1. 一种轻便且灵活的js模板的思路

    一种轻便且灵活的js模板的思路 项目地址:https://github.com/j20041426/template 思路背景 在Vue.React.Angular等大前端框架异军突起的今天,写前端时 ...

  2. Wamp之mysql密码故事

    注:有时候修改mysql密码会出现如下状况:密码改了,但新密码就是进不进去. 原因大概是语法错误.例如: >update user set password='hooray' where use ...

  3. POJ3614 Sunscreen 优先队列+贪心

    Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her ...

  4. AndroidTv开发中常用的adb命令

    盒子应用开发时,调试比手机上的开发比较麻烦一点,而且需要经常跟 adb 打交道,不管是 wifi 连接调试,还是应用删除安装等.这里记录一些常用的操作,方便查阅. adb wifi连接调试 方法一:需 ...

  5. Mybatis 调用存储过程,使用Map进行输入输出参数的传递

    做个记录,以备后用 java代码: public String texuChange() throws Exception {        try {                         ...

  6. git中常用的指令

    1.初始化仓库 git init2.设置用户名与邮箱 git config --global user.name 'name' git config --global user.email 'emai ...

  7. D重叠面积

    Description zjahstu是个很厚道的ACMer,O(∩_∩)O~..特为大家准备水题一道.. 题目很简单,两个矩形,告诉你矩形1,矩形2的面积和他们的总面积,请你求两矩形重叠部分的面积. ...

  8. Android利用canvas画画板

    首先新建一个项目工程,建立文件,如下图所示

  9. 一次使用pywin32学到的知识

    FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串.这个函数不搜索子窗口. FindWindowEx:FindWindowEx是在窗口列表中寻找与指定条件相符的第一个子窗口 ...

  10. 已有 JFFs2文件系统的修改

    项目应用中,对于前人留下的JFFS2的文件,有时候我们需要修改,但是苦于没有源文件,实际操作很多时候无所适从.每次支持生产之后再进行人为的升级.这样费时费力,也给生产人员增加了负担. 为了解决这个问题 ...