我們接着上次的說,本次沒有小標題。想了半天也沒想出個好名子來,由於此次咱們要作三件事:1.搭建基於Postfix的webmail;2.設置用戶別名和郵件羣組;3.設置郵件大小、郵箱空間的限制。環境仍是以前的,作以前可要確認好apache、mysql、php、postfix、dovecot都是OK的啊!本次仍是分爲三部分來作,閒話就很少說了,我們開始吧!
第一部分:構建基於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
界面也不咋樣啊!我們用郵件用戶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), 郵箱的空間大小限制由於不方便截圖,我這就不截圖了哈!