咱们接着上次的说,本次没有小标题。想了半天也没想出个好名子来,因为这次我们要做三件事:1.搭建基于Postfix的webmail;2.设置用户别名和邮件群组;3.设置邮件大小、邮箱空间的限制。环境还是之前的,做之前可要确认好apache、mysql、php、postfix、dovecot都是OK的啊!本次还是分为三部分来做,闲话就不多说了,咱们开始吧!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 第一部分:构建基于Postfix的webmail 我想多数人应该喜欢webmail吧,多方便啊!走哪都能用。Postfix支持OpenWebmail、Extmail、SquirrelMail... ...太多太多了。我们就先来说一下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_dir和p_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技术博客 |
转载于:https://blog.51cto.com/sunxuewei/284094