Linux+postfix+extmail+dovecot打造基於web頁面的郵件系統
準備階段:需要手動下載的軟體包:
postfix-2.6.5.tar.gz
courier-authlib-0.62.4.tar.bz2
eextmail-1.2.tar.gz
xtman-1.1.tar.gz
Time-HiRes-1.9707.tar.gz
File-Tail-0.99.3.tar.gz
rrdtool-1.2.23.tar.gz
1.配置好yum源,以本地光碟為例。
將redhat5.6光碟掛載到虛擬機器上,使用如下命令配置yum源,下面的過程會使用。
mkdir /media/cdrom mount /dev/cdrom /media/cdrom rm /etc/yum.repo/* -rf vim /etc/yum.repos.d/server.repo
[base] name=Instructor Server Repository baseurl=file:///media/cdrom/Server gpgcheck=0 [VT] name=Instructor VT Repository baseurl=file:///media/cdrom/VT gpgcheck=0 [Cluster] name=Instructor Cluster Repository baseurl=file:///media/cdrom/Cluster gpgcheck=0 [ClusterStorage] name=Instructor ClusterStorage Repository baseurl=file:///media/cdrom/ClusterStorage gpgcheck=0
2.配置自己的dns伺服器,我以dean.com域為例
1)安裝bind
yum install bind
yum install caching-nameserver # 這個軟體包可以自動建立一個純快取域名伺服器
2)手動建立配置檔案
vim /etc/named
options { directory "/var/named"; }; zone "." { typehint; file"named.ca"; }; zone "localhost" { typemaster; file"localhost.zone"; }; zone "0.0.127.in-addr.arpa" { typemaster; file "named.local"; }; zone "dean.com" { typemaster; file"dean.com.zone"; }; zone "0.168.192.in-addr.arpa" { typemaster; file"192.arpa"; };
3) 手動建立正反向dean.com域檔案
cd /var/named
vim dean.com.zone
$TTL 86400
dean.com. IN SOA ns.dean.com. admin.dean.com. (
2011082301
1H
10M
7D
1D)
NS ns.dean.com.
MX 10 mail.dean.com.
ns.dean.com. IN A 192.168.0.32
mail.dean.com. IN A 192.168.0.32
vim 192.arpa
$TTL 86400
@ IN SOA ns.dean.com. admin.dean.com. (
2011082301
1H
10M
7D
1D )
NS ns.dean.com.
MX 10 mail.dean.com.
32 IN PTR ns.dean.com.
32 IN PTR mail.dean.com.
chown :named /var/named/* -R
service named start
# 修改主機名稱
vim /etc/sysconfig/network
HOSTNAME=mail.dean.com
hostname mail.dean.com
vim /etc/hosts
127.0.0.1 mail.dean.com localhost
# 修改虛擬機器的預設DNS,測試下我們自己配置的DNS是否正常
vim /etc/resolv.conf
nameserver 192.168.0.32 #只保留這一行就行
dig -t A mail.dean.com @127.0.0.1 #能解析出192.168.0.32說明正常
dig -x 192.168.0.32 @127.0.0.1 #能正常解析出mail.dean.com說明正常
成功建立DNS後,下面進入正式階段:(以下根據老師的文章略作修改)整個構架圖如下:
1、首選安裝相關的rpm包,使用yum安裝下列rpm包
httpd, php, php-mysql, mysql, mysql-server,mysql-devel, openssl-devel, dovecot, perl-DBD-MySQL, tcl, tcl-devel,libart_lgpl, libart_lgpl-devel,libtool-ltdl,libtool-ltdl-devel
yum install -y httpd php php-mysql mysql mysql-servermysql-devel openssl-devel dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpllibart_lgpl-devel libtool-ltdl libtool-ltdl-devel
2、因為我們使用postfix,所以最好關閉sendmail,甚至是解除安裝
service sendmail stop
chkconfig sendmail off # 開機不啟動
rpm –e sendmail --nodeps
3、最好事先安裝下列元件,防止編譯出錯:
Development Libraries
Development Tools
Legacy Software Development
X Software Development
yum groupinstall "Development Libraries""Development Tools" "Legacy Software Development" "XSoftware Development" –y
4、啟動mysql資料庫,並給mysql的root使用者設定密碼:
service mysqld start
chkconfig mysqld on
mysqladmin -u root password 'redhat'
set password [email protected]'localhost'=password('redhat');
set password for [email protected]'127.0.0.1'=password('redhat'); #設定本地密碼
GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY ‘redhat’;#設定遠端登陸密碼
FLUSH PRIVILEGES;
quit
#啟動saslauthd服務,並將其加入到自動啟動佇列:
servicesaslauthd start
chkconfig saslauthd on
二、安裝配置postfix
#建立postfix使用者
groupadd -g2525 postfix #大於一千最好 -g
useradd -gpostfix -u 2525 -s /sbin/nologin -M postfix
groupadd -g 2526 postdrop
useradd -gpostdrop -u 2526 -s /bin/false -M postdrop
假設準備階段的軟體包都存放在/mnt/postfix裡
tar zxvfpostfix-2.6.5.tar.gz
cdpostfix-2.6.5
make makefiles'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL-I/usr/include/sasl -DUSE_TLS ''AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'
#gcc的編譯選項;mysql標頭檔案;支援sasl認證;cyrus_sasl的標頭檔案;mysql的客戶端;指明auxlibs的位置
make
make install
安裝過程中會出現一些提示除了tempdir:改為/tmp,其他使用預設項,直接直接回車
install_root: [/] /
tempdir:[/usr/local/src/ postfix-2.6.5] /tmp
config_directory:[/etc/postfix] /etc/postfix
daemon_directory:[/usr/libexec/postfix]
command_directory:[/usr/sbin]
queue_directory:[/var/spool/postfix]
sendmail_path:[/usr/sbin/sendmail]
newaliases_path:[/usr/bin/newaliases]
mailq_path:[/usr/bin/mailq]
mail_owner: [postfix]
setgid_group:[postdrop]
html_directory: [no] /var/www/postfix_html
manpages:[/usr/local/man]
readme_directory: [no]
安裝後會由警告,不用理會
newaliases # 生成別名二進位制檔案,可有可無,反正以後也要打
2.進行一些基本配置,測試啟動postfix並進行發信
vi /etc/postfix/main.cf
修改以下幾項為您需要的配置
myhostname = mail.dean.com
myorigin = dean.com
mydomain = dean.com
mydestination = $myhostname, localhost.$mydomain,localhost, $mydomain
mynetworks = 192.1680.0/24, 127.0.0.1/8
說明:
myorigin引數用來指明發件人所在的域名;
mydestination引數指定postfix接收郵件時收件人的域名,即您的postfix系統要接收到哪個域名的郵件;
myhostname 引數指定執行postfix郵件系統的主機的主機名,預設情況下,其值被設定為本地機器名;
mydomain引數指定您的域名,預設情況下,postfix將myhostname的第一部分刪除而作為mydomain的值;
mynetworks 引數指定你所在的網路的網路地址,postfix系統根據其值來區別使用者是遠端的還是本地的,如果是本地網路使用者則允許其訪問;
inet_interfaces 引數指定postfix系統監聽的網路介面;
注意:
1、在postfix的配置檔案中,引數行和註釋行是不能處在同一行中的;
2、任何一個引數的值都不需要加引號,否則,引號將會被當作引數值的一部分來使用;
3、每修改引數及其值後執行 postfix reload 即可令其生效;但若修改了inet_interfaces,則需重新啟動postfix;
4、如果一個引數的值有多個,可以將它們放在不同的行中,只需要在其後的每個行前多置一個空格即可;postfix會把第一個字元為空格或tab的文字行視為上一行的延續;
啟動postfix
/usr/sbin/postfix start
#手動建立啟動指令碼
vim /etc/init.d/postfix
#!/bin/bash
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ ${NETWORKING} = "no" ] && exit 0
[ -x /usr/sbin/postfix ] || exit 0
[ -d /etc/postfix ] || exit 0
[ -d /var/spool/postfix ] || exit 0
RETVAL=0
prog="postfix"
start() {
# Startdaemons.
echo -n{1}quot;Starting postfix: "
/usr/bin/newaliases >/dev/null 2>&1
/usr/sbin/postfixstart 2>/dev/null 1>&2 && success || failure {1}quot;$progstart"
RETVAL=$?
[ $RETVAL-eq 0 ] && touch /var/lock/subsys/postfix
echo
return$RETVAL
}
stop() {
# Stopdaemons.
echo -n{1}quot;Shutting down postfix: "
/usr/sbin/postfixstop 2>/dev/null 1>&2 && success || failure {1}quot;$progstop"
RETVAL=$?
[ $RETVAL-eq 0 ] && rm -f /var/lock/subsys/postfix
echo
return$RETVAL
}
reload() {
echo -n{1}quot;Reloading postfix: "
/usr/sbin/postfixreload 2>/dev/null 1>&2 && success || failure {1}quot;$progreload"
RETVAL=$?
echo
return$RETVAL
}
abort() {
/usr/sbin/postfixabort 2>/dev/null 1>&2 && success || failure {1}quot;$progabort"
return $?
}
flush() {
/usr/sbin/postfixflush 2>/dev/null 1>&2 && success || failure {1}quot;$progflush"
return $?
}
check() {
/usr/sbin/postfixcheck 2>/dev/null 1>&2 && success || failure {1}quot;$progcheck"
return $?
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
abort)
abort
;;
flush)
flush
;;
check)
check
;;
status)
status master
;;
condrestart)
[ -f/var/lock/subsys/postfix ] && restart || :
;;
*)
echo{1}quot;Usage: $0{start|stop|restart|reload|abort|flush|check|status|condrestart}"
exit 1
esac
exit $?
-------------------------------------------------------------------------------------------
# 別忘了給執行許可權
chmod +x /etc/init.d/postfix
chkconfig --add postfix # 這步可能加不,不用管它
連線postfix,驗正服務啟動狀況:
[[email protected] postfix]# telnet 192.168.0.71 25
Trying 192.168.0.71...
Connected to station71.redhat_hu.com (192.168.0.71).
Escape character is '^]'.
220 mail.evo.com ESMTP Postfix
ehlo mail.evo.com
250-mail.evo.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:[email protected]
250 2.1.0 Ok
rcpt to:[email protected]
250 2.1.5 Ok
data
354 End data with<CR><LF>.<CR><LF>
subject:test
test 123...
.
250 2.0.0 Ok: queued as 7AAD51B803D
quit
221 2.0.0 Bye
Connection closed by foreign host.
You have mail in /var/spool/mail/root
[[email protected] postfix]# mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N [email protected] Sun Aug 1420:03 15/481 "test"
#測試成功
三、為postfix開啟基於cyrus-sasl的認證功能
使用以下命令驗正postfix是否支援cyrus風格的sasl認證,如果您的輸出為以下結果,則是支援的:
/usr/sbin/postconf -a
cyrus
dovecot
vi /etc/postfix/main.cf
新增以下內容:
############################CYRUS-SASL############################
broken_sasl_auth_clients = yes
#定義是否允許突破sasl認證
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
#拒絕xxxxxxxxx
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostnameESMTP,Warning: Version has been hidden!
#歡迎資訊且隱藏版本號
vi /usr/lib/sasl2/smtpd.conf
新增如下內容:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
讓postfix重新載入配置檔案
/usr/sbin/postfix reload
service postfix restart
[[email protected] postfix]# telnet 192.168.0.32
Trying 192.168.0.32.
Connected to station71.redhat_hu.com (192.168.0.32
Escape character is '^]'.
220 Welcome to our mail.evo.com ESMTP,Warning: Versionhas been hidden.
ehlo mail.evo.com
250-mail.evo.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN #有以上兩行說明CYRUS-SASL認證新增成功
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
#測試
四、安裝Courierauthentication library
注意:確保安裝libtool-ltdl,libtool-ltdl-devel不然會報錯
# tar jxvf courier-authlib-0.62.4.tar.bz2
# cd courier-authlib-0.62.4
#./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc--with-authmysql --with-mysql-libs=/usr/lib/mysql--with-mysql-includes=/usr/include/mysql --with-redhat--with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrcCFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2-fexpensive-optimizations"
# make
# make install
# chmod 755/usr/local/courier-authlib/var/spool/authdaemon
# cp /etc/authdaemonrc.dist /etc/authdaemonrc
# cp /etc/authmysqlrc.dist /etc/authmysqlrc
修改/etc/authdaemonrc 檔案
authmodulelist="authmysql"
authmodulelistorig="authmysql" #修改這3行
daemons=10
編輯/etc/authmysqlrc 為以下內容,其中2525,2525 為postfix 使用者的UID和GID。
MYSQL_SERVER localhost
MYSQL_PORT 3306 (指定你的mysql監聽的埠,這裡使用預設的3306)
MYSQL_USERNAME extmail (這時為後文要用的資料庫的所有者的使用者名稱)
MYSQL_PASSWORD extmail (密碼)
MYSQL_SOCKET /var/lib/mysql/mysql.sock #此行前註釋去掉
------------------------------------------------
MYSQL_DATABASE extmail #自動生成,不要修改?
------------------------------------------------
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD '2525'
MYSQL_GID_FIELD '2525'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/var/mailbox/',homedir) #郵箱的位置
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)
# cp courier-authlib.sysvinit/etc/init.d/courier-authlib #courier提供的啟動指令碼
# chmod 755 /etc/init.d/courier-authlib
# chkconfig --add courier-authlib
# chkconfig --level 2345 courier-authlib on
#echo"/usr/local/courier-authlib/lib/courier-authlib" >>/etc/ld.so.conf #或新增庫檔案/etc/ld.so.conf.d/courier.conf
[[email protected] courier-authlib-0.62.4]# ldconfig -v | grep courier
/usr/local/courier-authlib/lib/courier-authlib:
libcourierauthcommon.so-> libcourierauthcommon.so.0
libcourierauth.so-> libcourierauth.so.0
libcourierauthsasl.so-> libcourierauthsasl.so.0
libcourierauthsaslclient.so-> libcourierauthsaslclient.so.0
#庫檔案成功載入
# service courier-authlib start (啟動服務)
ps aux |grep courier
#檢視程序啟動
新建虛擬使用者郵箱所在的目錄,並將其許可權賦予postfix使用者:
#mkdir –pv /var/mailbox
#chown –R postfix/var/mailbox #所有使用者的郵件都在這裡
接下來重新配置SMTP 認證,編輯 /usr/local/lib/sasl2/smtpd.conf ,確保其為以下內容:
#加入這些內容
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
五、讓postfix支援虛擬域和虛擬使用者
1、編輯/etc/postfix/main.cf,新增如下內容:
########################Virtual MailboxSettings########################
virtual_mailbox_base = /var/mailbox
virtual_mailbox_maps =mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains =mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps =mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:2525
virtual_gid_maps = static:2525
virtual_transport = virtual
maildrop_destination_recipient_limit = 1
maildrop_destination_concurrency_limit = 1
##########################QUOTASettings########################
message_size_limit = 14336000
virtual_mailbox_limit = 20971520
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps =mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user'smaildir has overdrawn his diskspace quota, please Tidy your mailbox and tryagain later.
virtual_overquota_bounce = yes
2、使用extman原始碼目錄下docs目錄中的extmail.sql和init.sql建立資料庫:
# tar zxvf extman-1.1.tar.gz
# cd extman-1.1/docs
# mysql -u root -p <extmail.sql #新增extmail.sql資料庫到mysql
# mysql -u root -p <init.sql
# cp mysql* /etc/postfix/
3、授予使用者extmail訪問extmail資料庫的許可權
mysql> GRANT all privileges on extmail.* [email protected] IDENTIFIED BY 'extmail';
mysql> GRANT all privileges on extmail.* [email protected] IDENTIFIED BY 'extmail';
說明:啟用虛擬域以後,需要取消中心域,即註釋掉myhostname,mydestination, mydomain, myorigin幾個指令;當然,你也可以把mydestionation的值改為你自己需要的。
六、配置dovecot
# vi /etc/dovecot.conf
mail_location =maildir:/var/mailbox/%d/%n/Maildir #修改之
……
auth default {
mechanisms =plain
#注意把pam{}這一項註釋掉!!!
passdb sql {
args =/etc/dovecot-mysql.conf #新增之
}
userdb sql {
args =/etc/dovecot-mysql.conf #新增之
}
……
# vi /etc/dovecot-mysql.conf
driver = mysql #驅動
connect = host=localhost dbname=extmail user=extmailpassword=extmail #連線項
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password ASpassword FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid,gidnumber AS gid FROM mailbox WHERE username = '%u'
接下來啟動dovecot服務:
# service dovecot start
# chkconfig dovecot on
#netstat檢視服務啟動情況
七、安裝Extmail-1.2
1、安裝
# tar zxvf extmail-1.2.tar.gz
# mkdir -pv /var/www/extsuite
# mv extmail-1.2 /var/www/extsuite/extmail
# cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
2、修改主配置檔案
#vi /var/www/extsuite/extmail/webmail.cf
部分修改選項的說明:
SYS_MESSAGE_SIZE_LIMIT = 5242880
使用者可以傳送的最大郵件
SYS_USER_LANG = en_US
語言選項,可改作:
SYS_USER_LANG = zh_CN
SYS_MAILDIR_BASE = /home/domains
此處即為您在前文所設定的使用者郵件的存放目錄,可改作:
SYS_MAILDIR_BASE = /var/mailbox
SYS_MYSQL_USER = db_user
SYS_MYSQL_PASS = db_pass
以上兩句句用來設定連線資料庫伺服器所使用使用者名稱、密碼和郵件伺服器用到的資料庫,這裡修改為:
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_HOST = localhost
指明資料庫伺服器主機名,這裡預設即可
SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
以上用來指定驗正使用者登入裡所用到的表,以及使用者名稱、域名和使用者密碼分別對應的表中列的名稱;這裡預設即可
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket
此句用來指明authdaemo socket檔案的位置,這裡修改為:
SYS_AUTHLIB_SOCKET =/usr/local/courier-authlib/var/spool/authdaemon/socket
3、apache相關配置
由於extmail要進行本地郵件的投遞操作,故必須將執行apache伺服器使用者的身份修改為您的郵件投遞代理的使用者;本例中打開了apache伺服器的suexec功能,故使用以下方法來實現虛擬主機執行身份的指定。此例中的MDA為postfix自帶,因此將指定為postfix使用者:
<VirtualHost *:80>
ServerName mail.test.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup postfix postfix
</VirtualHost>
修改 cgi執行檔案屬主為apache執行身份使用者:
# chown -R postfix.postfix/var/www/extsuite/extmail/cgi/
如果您沒有開啟apache伺服器的suexec功能,也可以使用以下方法解決:
# vi /etc/httpd/httpd.conf
User postfix
Group postfix
<VirtualHost *:80>
ServerName mail.test.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
</VirtualHost>
4、依賴關係的解決
extmail將會用到perl的Unix::syslogd功能,您可以去http://search.cpan.org搜尋下載原碼包進行安裝。
# tar zxvf Unix-Syslog-0.100.tar.gz
# cd Unix-Syslog-0.100
# perl Makefile.PL
# make
# make install
5、啟動apache服務
# service httpd start
# chkconfig httpd on
八、安裝Extman-1.1
1、安裝及基本配置
# tar zxvf extman-1.1.tar.gz
# mv extman-1.1 /var/www/extsuite/extman
修改配置檔案以符合本例的需要:
# cp /var/www/extsuite/extman/webman.cf.default /var/www/extsuite/extman/webman.cf
# vi /var/www/extsuite/extman/webman.cf
SYS_MAILDIR_BASE = /home/domains
此處即為您在前文所設定的使用者郵件的存放目錄,可改作:
SYS_MAILDIR_BASE = /var/mailbox
修改cgi目錄的屬主:
# chown -R postfix.postfix/var/www/extsuite/extman/cgi/
在apache的主配置檔案中Extmail的虛擬主機部分,新增如下兩行:
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
建立其執行時所需的臨時目錄,並修改其相應的許可權:
#mkdir -pv /tmp/extman
#chown postfix.postfix /tmp/extman
修改
SYS_CAPTCHA_ON = 1 #驗證碼功能
為
SYS_CAPTCHA_ON = 0
好了,到此為止,重新啟動apache伺服器後,您的Webmail和Extman已經可以使用了,可以在瀏覽器中輸入指定的虛擬主機的名稱(直接輸ip)進行訪問,如下:
http://mail.test.com
若進不去↓
【選擇管理】即可登入extman進行後臺管理了。預設管理帳號為:[email protected] 密碼為:extmail*123*
【域列表】--新增域儲存好了後 在進去 勾選【允許註冊】
---------------------------------------------------------------------
測試:註冊倆使用者,一個給另一個發郵件就OK了
---------------------------------------------------------------------
說明:
(1) 如果您安裝後無法正常顯示校驗碼,安裝perl-GD模組會解決這個問題。如果想簡單,您可以到以下地址下載適合您的平臺的rpm包,安裝即可: http://dries.ulyssis.org/rpm/packages/perl-GD/info.html
(2) extman-1.1自帶了圖形化顯示日誌的功能;此功能需要rrdtool的支援,您需要安裝此些模組才可能正常顯示圖形日誌。
2、配置Mailgraph_ext,使用Extman的圖形日誌:(下面所需的軟體包面要自己下載)
接下來安裝圖形日誌的執行所需要的軟體包Time::HiRes、File::Tail和rrdtool,其中前兩個包您可以去http://search.cpan.org搜尋並下載獲得,後一個包您可以到 http://oss.oetiker.ch/rrdtool/pub/?M=D下載獲得;注意安裝順序不能改換。
安裝Time::HiRes
#tar zxvf Time-HiRes-1.9707.tar.gz
#cd Time-HiRes-1.9707
#perl Makefile.PL
#make
#make test
#make install
安裝File::Tail
#tar zxvf File-Tail-0.99.3.tar.gz
#cd File-Tail-0.99.3
#perl Makefile
#make
#make test
#make install
安裝rrdtool-1.2.23
#tar zxvf rrdtool-1.2.23.tar.gz
#cd rrdtool-1.2.23
#./configure --prefix=/usr/local/rrdtool
#make
#make install
建立必要的符號連結(Extman會到這些路徑下找相關的庫檔案)
#ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.5/i386-linux-thread-multi/
#ln -sv /usr/local/rrdtool/lib/perl/5.8.5/RRDp.pm /usr/lib/perl5/5.8.5
#ln -sv/usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/RRDs.pm /usr/lib/perl5/5.8.5
複製mailgraph_ext到/usr/local,並啟動之
# cp -r/var/www/extsuite/extman/addon/mailgraph_ext /usr/local
# /usr/local/mailgraph_ext/mailgraph-init start
啟動cmdserver(在後臺顯示系統資訊)
# /var/www/extsuite/extman/daemon/cmdserver --daemon
新增到自動啟動佇列
# echo “/usr/local/mailgraph_ext/mailgraph-init start”>> /etc/rc.d/rc.local
# echo “/var/www/extsuite/extman/daemon/cmdserver -v-d” >> /etc/rc.d/rc.local
使用方法: 等待大約15分鐘左右,如果郵件系統有一定的流量,即可登陸到extman裡,點“圖形日誌”即可看到圖形化的日誌。具體每天,周,月,年的則點選相應的圖片進入即可。
---------------------
原文:https://blog.csdn.net/deansrk/article/details/6717720