Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)

我们接着上次的说,本次没有小标题。想了半天也没想出个好名子来,由于此次咱们要作三件事:1.搭建基于Postfixwebmail2.设置用户别名和邮件群组;3.设置邮件大小、邮箱空间的限制。环境仍是以前的,作以前可要确认好apachemysqlphppostfixdovecot都是OK的啊!本次仍是分为三部分来作,闲话就很少说了,我们开始吧!
第一部分:构建基于Postfixwebmail
我想多数人应该喜欢webmail吧,多方便啊!走哪都能用。Postfix支持OpenWebmailExtmailSquirrelMail... ...太多太多了。咱们就先来讲一下SquirrelMail。其它的若是有时间必定会再说。我们先获得SquirrelMail的官方网站去下载程序文件包squirrelmail-1.4.13.tar.bz2和中文语言包zh_CN-1.4.13-20071220.tar.bz2地址:Http://www.squirrelmail.org,大家能够下载更新一点的,作法都同样的。
1.    依次安装程序包、中文语言包
[root@mail ~]# tar jxf squirrelmail-1.4.13.tar.bz2 -C /usr/local/apache2/htdocs/
[root@mail ~]# cd /usr/local/apache2/htdocs/
[root@mail htdocs]# mv squirrelmail-1.4.13 webmail
[root@mail htdocs]# cd webmail/
[root@mail webmail]# tar jxf ~/zh_CN-1.4.13-20071220.tar.bz2
2.    建立调整数据目录和邮件附件目录
[root@mail webmail]# mkdir -p attach data
[root@mail webmail]# chown -R daemon:daemon attach/ data/
[root@mail webmail]# chmod 730 attach/
说明:我们建立了两个目录一个是数据目录(data,一个是附件目录(attach.而且把属主属组改成daemon.
3.    创建config.php配置文件
[root@mail webmail]# cp config/config_default.php config/config.php
[root@mail webmail]# cat config/config.php
$domain = 'zpp.com';   //118
$smtpServerAddress = 'localhost';   //设置发信服务器地址 第146
$smtpPort = 25;    //设置发信服务器的端口 第151
$imapPort = 143;   //设置收信服务器的端口 第210
$imap_server_type = 'dovecot';    //设置收信服务器地址 第231
$data_dir = '/usr/local/apache2/htdocs/webmail/data';    //487
$p_w_upload_dir = '/usr/local/apache2/htdocs/webmail/attach/';   //505
$squirrelmail_default_language = 'zh_CN';     //设置语言 第1000
$default_charset = 'zh_CN.UTF-8';    //设置编码格式 第1015
… …
说明:上面配置项data_dirp_w_upload_dir分别设置的是数据目录和附件目录,我们刚刚不是在/usr/local/apache2/htdocs/webmail/目录下建立了两个目录吗。
4.    从新启动httpd服务,IE中登陆SquirrelMail系统
[root@mail ~]# /usr/local/apache2/bin/apachel restart
IE中键入地址:http://mail.zpp.com/webmail,系统会自动跳转为SquirrelMail登陆界面(http://mail.zpp.com/webmail/src/login.php)以下图:
界面也不咋样啊!我们用邮件用户zpp001试试看!
好上来了,咱们能够看到登陆进来的界面还不错,如图:
 
好了!里面的功能我们就不看了,很简单。接下来咱们来看一下如何实现邮件群发吧!
第二部分:设置用户别名和邮件群组
用户别名主要能够用来实现邮件群发功能,它依赖aliases机制,这一点和上次我们说的Sendmail同样同样的。就很少说了,下面是实现的步骤:
1.    设置postfix查询表
[root@mail ~]# cat /etc/postfix/main.cf
... ...
alias_maps = hash:/etc/aliases
[root@mail ~]# postfix reload
说明:修改main.cf配置文件,咱们使用“/etc/aliases”文件的hash数据做为查询表。改完了可别忘了从新加载啊!否则后面就会纳闷!
2.    设置邮件别名实现群发功能
[root@mail ~]# tail -5 /etc/aliases
zpp-group:      zpp001,zpp002,zpp003,zpp004
[root@mail ~]#newaliases
说明:我们建立一个名叫zpp-group的别名,让它对应zpp001,zpp002,zpp003,zpp004这四位用户,这样的话咱们给zpp-group发一封邮件zpp001-4都会收到。注意设置完后要用newaliases命令使/etc/aliases文件(配置文件)生成/etc/aliases.db文件(数据库文件)
OK!如今我们用master用户给zpp-group发一份通知测试一下吧,如图:
 
咱们用zpp001登陆上去看可否收到通知,如图:
 
能够看到用户zpp001已成功收到了master给咱们发来的通知
 
接下来,我们来看一下邮件大小和邮箱空间是如何限制的
第三部分:设置邮件大小、邮箱空间的限制
为啥要限制邮箱大小呢?说的直白点就是防止用户把邮件服务器当成FTP来用,呵呵!其实也不能单纯的这样说。另一个缘由是服务器的磁盘空间毕竟有限。因此咱们要进行必定的限制。下面是具体的步骤:
1.    限制用户可发送的邮件大小
[root@mail ~]# cat /etc/postfix/main.cf
... ...
message_size_limit = 20971520
[root@mail ~]# postfix reload
postfix/postfix-script: refreshing the Postfix mail system
说明:在/etc/postfix/main.cf中添加message_size_limt字段不但对系统用户生效,对虚拟用户也同样能够生效。我们设置message_size_limit = 20971520目的是将用户可发送的邮件大小限制为20MB
用户可发送的邮件大小限制就是这么简单,来测试一下吧!
测试我就用OE吧,由于前面装的SquirrelMail附件太大传不上去,看不到发送时的效果。
咱们给用户zpp004发送一封25M的邮件,如图:
 
下面就是反馈信息
 
能够看见它提示咱们“因为超过了服务器的限制… …”的错信息,也能够到postfix服务器的日志文件中去查看。
 
2.    限制用户的邮箱空间大小
有两个配置参数能够限制用户的邮箱大小,以下:
mailbox_size_limit        这个只能对系统用户生效,默认值是50MB
virtual_mailbox_limit      针对虚拟用户生效,默认值也是50MB
还有一种方法就是磁盘配额(quota, 邮箱的空间大小限制由于不方便截图,我这就不截图了哈!