咱们接着上次的说,本次没有小标题。想了半天也没想出个好名子来,因为这次我们要做三件事:1.搭建基于Postfixwebmail2.设置用户别名和邮件群组;3.设置邮件大小、邮箱空间的限制。环境还是之前的,做之前可要确认好apachemysqlphppostfixdovecot都是OK的啊!本次还是分为三部分来做,闲话就不多说了,咱们开始吧!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

第一部分:构建基于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, 邮箱的空间大小限制因为不方便截图,我这就不截图了哈!

本文出自 “zpp” 博客,请务必保留此出处http://zpp2009.blog.51cto.com/730423/281139
本文出自 51CTO.COM技术博客