搭建postfix安裝Extmail

 
    Postfix是Wietse Venema在 IBMGPL協議之下開發的 MTA(郵件傳輸代理)軟件。
在Internet世界中,大部分的電子郵件都是經過sendmail來投遞的,大約有100萬用戶使用sendmail,天天投遞上億封郵件。這真實一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。
                  
1、安裝前的準備工做:
一、安裝所需的rpm包:
  
  
           
  
  
  1. yum install -y httpd php php-mysql mysql mysql-server mysql-devel openssl-devel 
  2. dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel 

//它們處於不一樣的做用,在出現問題時應分開判斷是那個文件的影響!
二、關閉sendmail,並將它的隨系統自動啓動功能關閉:
# service sendmail stop 
# chkconfig sendmail off
//由於系統運行須要郵件服務的提供,因此最後在沒有安裝postfix以前,請不要#rpm -e sendmail;
三、安裝如下開發所用到的rpm包組:
 
  
  
           
  
  
  1. #yum groupinstall -y "Development Libraries" 
  2. "Development Tools" 
  3. "Legacy Software Development" 
  4. "X Software Development"  
四、啓動mysql數據庫,並給mysql的root用戶設置密碼:
  
  
           
  
  
  1. #service mysqld start  
  2. #chkconfig mysqld on  
  3. #mysqladmin -uroot password '123456'  
  4. #mysql -uroot -p   
  5. enter--> 123456       //簡單測試  

五、啓動saslauthd服務,並將其加入到自動啓動隊列:
# service saslauthd start   
//啓用smtp認證
# chkconfig saslauthd on
2、安裝配置postfix
  
  
           
  
  
  1. # groupadd -g 2525 postfix  
  2. # useradd -g postfix -u 2525 -s /sbin/nologin -M postfix  
  3. # groupadd -g 2526 postdrop  
  4. # useradd -g postdrop -u 2526 -s /bin/false -M postdrop  
  1. # tar zxvf postfix-2.6.5.tar.gz  
  2. # cd postfix-2.6.5  
  3. # 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'       
  4. //編譯時修改的一些參數  // 若是沒有特殊須要,只做爲郵件傳輸MTA應用,沒必要要添加此類參數;
  5. # make  
  6. # make install  
  7. //若是編譯出錯,檢查出錯狀況,通常是有包忘了裝,要不是參數路徑錯誤;
【註釋】:
xsasl_cyrus_server.c:598: error: 'SASL_OK' undeclared (first use in this function)
xsasl_cyrus_server.c:600: warning: format '%s' expects type 'char *', but argument 3 has type 'int'
xsasl_cyrus_server.c:603: error: 'XSASL_CYRUS_SERVER' has no member named 'username'
xsasl_cyrus_server.c:604: error: 'XSASL_CYRUS_SERVER' has no member named 'username'
xsasl_cyrus_server.c:605: error: 'XSASL_CYRUS_SERVER' has no member named 'username'
xsasl_cyrus_server.c:606: error: 'XSASL_CYRUS_SERVER' has no member named 'username'
xsasl_cyrus_server.c:607: error: 'XSASL_CYRUS_SERVER' has no member named 'username'
make: *** [xsasl_cyrus_server.o] Error 1
make: *** [update] Error 1
#
缺乏cyrus認證包:有cyrus-sasl-md5 cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel       //2010年12月01日更新
 
 
按照如下的提示輸入相關的路徑([]號中的是缺省值,」]」後的是輸入值,省略的表示採用默認值)(可所有采用默認值)
  
  
           
  
  
  1. install_root: [/] /  
  2. tempdir: [/root/postfix-2.6.5] 
  3. config_directory: [/etc/postfix] 
  4. command_directory: [/usr/sbin]  
  5. daemon_directory: [/usr/libexec/postfix]  
  6. data_directory: [/var/lib/postfix]  
  7. html_directory: [no] /
  8. mail_owner: [postfix]  
  9. mailq_path: [/usr/bin/mailq]  
  10. manpage_directory: [/usr/local/man]  
  11. newaliases_path: [/usr/bin/newaliases]  
  12. queue_directory: [/var/spool/postfix]  
  13. readme_directory: [no]  
  14. sendmail_path: [/usr/sbin/sendmail]  
  15. setgid_group: [postdrop]  
 
(注意)生成別名二進制文件,這個步驟若是忽略,會形成postfix效率極低:
#  newaliases
 
2.進行一些基本配置,測試啓動postfix並進行發信
  
  
           
  
  
  1. #vim /etc/postfix/main.cf  
  2. 修改如下幾項爲您須要的配置  
  3. myhostname = mail.test.com  
  4. myorigin = test.com  
  5. mydomain = test.com  
  6. mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  
  7. mynetworks = 192.168.1.0/24, 127.0.0.0/8  
說明:
myorigin參數用來指明發件人所在的域名;
mydestination參數指定postfix接收郵件時收件人的域名,即您的postfix系統要接收到哪一個域名的郵件;
myhostname 參數指定運行postfix郵件系統的主機的主機名,默認狀況下,其值被設定爲本地機器名;
mydomain參數指定您的域名,默認狀況下,postfix將myhostname的第一部分刪除而做爲mydomain的值;
mynetworks 參數指定你所在的網絡的網絡地址,postfix系統根據其值來區別用戶是遠程的仍是本地的,若是是本地網絡用戶則容許其訪問;
inet_interfaces 參數指定postfix系統監聽的網絡接口;
啓動postfix
#/usr/sbin/postfix start
 postfix/postfix-script: starting the Postfix mail system
鏈接postfix,驗正服務啓動情況:
  
  
           
  
  
  1. #netstat -tnlp | grep :25  
  2. tcp   0    0 0.0.0.0:25   0.0.0.0:*     LISTEN   15497/master  
  3. # telnet localhost 25  
  4. Trying 127.0.0.1...  
  5. Connected to localhost.localdomain (127.0.0.1).  
  6. Escape character is '^]'.  
  7. 220 mail.test.com ESMTP Postfix  
  8. ehlo mail.test.com     //本postfix的hostname字段;
  9. 250-mail.test.com  
  10. 250-PIPELINING  
  11. 250-SIZE 10240000  
  12. 250-VRFY  
  13. 250-ETRN  
  14. 250-ENHANCEDSTATUSCODES  
  15. 250-8BITMIME  
  16. 250 DSN  
  17. mail from:root@test.com   //輸入發信人郵箱  
  18. 250 2.1.0 Ok  
  19. rcpt to:hanfeng@test.com  //輸入收信人郵箱  
  20. 250 2.1.5 Ok  
  21. data                     //輸入郵件數據信息  
  22. subject:Mail test!       //輸入郵件主題  
  23. hello hanfeng!!!         //輸入郵件內容  
  24. .                        //輸入結束符.  
  25. 250 2.0.0 Ok: queued as C55863E016D  
  26. quit                    //輸入quit退出郵件系統  
  27. 221 2.0.0 Bye  
  28. Connection closed by foreign host.  
  29. [root@station123 ~]#grep C55863E016D /var/log/maillog //查找發信狀態   
  30.  

切換到hanfeng用戶進行收信
  
  
           
  
  
  1. #su - hanfeng  
  2. $mail  
  3. Mail version 8.1 6/6/93.  Type ? for help.  
  4. "/var/spool/mail/hanfeng": 1 message 1 new  
  5. >N  1 root@test.com         Tue Sep  7 15:59  15/505   "Mail test!"  
  6. & 1  
  7. Message 1:  
  8. From root@test.com  Tue Sep  7 15:59:09 2010  
  9. X-Original-To: hanfeng@test.com  
  10. Delivered-To: hanfeng@test.com  
  11. subject:Mail test!  
  12. Date: Tue,  7 Sep 2010 15:57:02 +0800 (CST)  
  13. From: root@test.com  
  14. To: undisclosed-recipients:;  
  15.  
  16. hello hanfeng!!!  
  17.  
  18. & q  
  19. Saved 1 message in mbox  
  20. [hanfeng@station123 ~]$   
  21. 測試成功  

3、爲postfix開啓基於cyrus-sasl的認證功能
使用如下命令驗正postfix是否支持cyrus風格的sasl認證,若是您的輸出爲如下結果,則是支持的:
# /usr/local/postfix/sbin/postconf  -a
cyrus
dovecot

#vim /etc/postfix/main.cf
添加如下內容:
 
  
  
           
  
  
  1. ############################CYRUS-SASL############################  
  2. broken_sasl_auth_clients = yes 
  3.  
  4. smtpd_recipient_restrictions=permit_mynetworks,  //下一行與此行爲同一行,下一行開頭,空一格  
  5.  permit_sasl_authenticated,reject_invalid_hostname,  
  6.  reject_non_fqdn_hostname,reject_unknown_sender_domain,  
  7.  reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,  
  8.  reject_unauth_pipelining,reject_unauth_destination  
  9.  
  10. smtpd_sasl_auth_enable = yes 
  11. smtpd_sasl_local_domain = $myhostname  
  12. smtpd_sasl_security_options = noanonymous 
  13. smtpd_sasl_application_name = smtpd  
  14. smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!  


2011年4月12日
更正:
smtpdsmtpd_sasl_application_name = smtpd
正確:

smtpd_sasl_application_name = smtpd
#vim /usr/lib/sasl2/smtpd.conf
添加以下內容:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
讓postfix從新加載配置文件
#/usr/sbin/postfix reload
  postfix/postfix-script: refreshing the Postfix mail system
  
  
           
  
  
  1. # telnet localhost 25  
  2. Trying 127.0.0.1...  
  3. Connected to localhost.localdomain (127.0.0.1).  
  4. Escape character is '^]'.  
  5. 220 Welcome to our mail.test.com ESMTP,Warning: Version not Available!  
  6. ehlo mail.test.com  
  7. 250-mail.test.com  
  8. 250-PIPELINING  
  9. 250-SIZE 10240000  
  10. 250-VRFY  
  11. 250-ETRN  
  12. 250-AUTH LOGIN PLAIN  
  13. 250-AUTH=LOGIN PLAIN      //(請確保您的輸出以相似兩行)  
  14. 250-ENHANCEDSTATUSCODES  
  15. 250-8BITMIME  
  16. 250 DSN  
  17. quit                      //quit退出便可  
4、安裝Courier authentication library
  
  
           
  
  
  1. # tar jxvf courier-authlib-0.62.4.tar.bz2  
  2. # cd courier-authlib-0.62.4  
  3. #./configure  
  4.    --prefix=/usr/local/courier-authlib  
  5.    --sysconfdir=/etc  
  6.    --with-authmysql  
  7.     --with-mysql-libs=/usr/lib/mysql  
  8.     --with-mysql-includes=/usr/include/mysql  
  9.     --with-redhat  
  10.     --with-authmysqlrc=/etc/authmysqlrc  
  11.     --with-authdaemonrc=/etc/authdaemonrc  
  12.     CFLAGS="-march=i686 -O2 -fexpensive-optimizations"    
  13.     CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" 
  14. # make  
  15. # make install  
# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon
# cp /etc/authdaemonrc.dist  /etc/authdaemonrc
# cp /etc/authmysqlrc.dist  /etc/authmysqlrc
修改#vim /etc/authdaemonrc 文件
  
  
           
  
  
  1. authmodulelist="authmysql" 
  2. authmodulelistorig="authmysql" 
  3. daemons=10 
編輯#vim /etc/authmysqlrc     爲如下內容,其中2525,2525 爲postfix 用戶的UID和GID。
 
  
  
           
  
  
  1. MYSQL_SERVER localhost  
  2. MYSQL_PORT 3306                   (指定你的mysql監聽的端口,這裏使用默認的3306)  
  3. MYSQL_USERNAME  extmail           (這時爲後文要用的數據庫的全部者的用戶名)  
  4. MYSQL_PASSWORD extmail            (密碼)  
  5. MYSQL_SOCKET  /var/lib/mysql/mysql.sock  
  6. MYSQL_DATABASE  extmail  
  7. MYSQL_USER_TABLE  mailbox  
  8. MYSQL_CRYPT_PWFIELD  password  
  9. MYSQL_UID_FIELD  '2525'  
  10. MYSQL_GID_FIELD  '2525'  
  11. MYSQL_LOGIN_FIELD  username  
  12. MYSQL_HOME_FIELD  concat('/var/mailbox/',homedir)  
  13. MYSQL_NAME_FIELD  name  
  14. MYSQL_MAILDIR_FIELD  concat('/var/mailbox/',maildir)  
  15.  
  16. !!!保證此文件的內容不能有錯,不然不能啓用postfix與mysql的鏈接;  
# cp courier-authlib.sysvinit /etc/init.d/courier-authlib
# 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
# ldconfig -v
# service courier-authlib start   (啓動服務)
 Starting Courier authentication services: authdaemond (可信的, 可靠的)

新建虛擬用戶郵箱所在的目錄,並將其權限賦予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

5、讓postfix支持虛擬域和虛擬用戶
一、編輯 #vim/etc/postfix/main.cf,添加以下內容:
  
  
           
  
  
  1. ########################Virtual Mailbox Settings########################  
  2. virtual_mailbox_base = /var/mailbox  
  3. virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf  
  4. virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf  
  5. virtual_alias_domains =  
  6. virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf  
  7. virtual_uid_maps = static:2525  
  8. virtual_gid_maps = static:2525  
  9. virtual_transport = virtual  
  10. maildrop_destination_recipient_limit = 1 
  11. maildrop_destination_concurrency_limit = 1 
  12. ##########################QUOTA Settings########################  
  13. message_size_limit = 14336000 
  14. virtual_mailbox_limit = 20971520 
  15. virtual_create_maildirsize = yes 
  16. virtual_mailbox_extended = yes 
  17. virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf  
  18. virtual_mailbox_limit_override=yes 
  19. virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, try again later.  
  20. virtual_overquota_bounce = yes 
  21.  
2011年4月12日
更正: virtual virtual_transport  = virtual
正確: virtual_transport  = virtual

二、使用extman源碼目錄下docs目錄中的extmail.sql和init.sql創建數據庫:
  
  
           
  
  
  1. # tar zxvf  extman-1.1.tar.gz  
  2. # cd extman-1.1/docs  
  3. # mysql -u root -p <extmail.sql 
  4. # mysql -u root -p <init.sql 
  5. # cp mysql*  /etc/postfix/  
三、授予用戶extmail訪問extmail數據庫的權限
 
  
  
           
  
  
  1. mysql> GRANT all privileges on extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';  
  2. mysql> GRANT all privileges on extmail.* TO extmail@127.0.0.1 IDENTIFIED BY 'extmail';   密碼  
說明:啓用虛擬域之後,須要取消中心域,即註釋掉myhostname, mydestination, mydomain, myorigin幾個指令;
固然,你也能夠把mydestionation的值改成你本身須要的。
#vim /etc/postfix/main.cf
註釋掉myhostname, mydestination, mydomain, myorigin
6、配置dovecot
# vim /etc/dovecot.conf
 
  
  
           
  
  
  1. mail_location = maildir:/var/mailbox/%d/%n/Maildir  
  2. ……  
  3. auth default {  
  4.     mechanisms = plain 
  5.     passdb sql {  
  6.         args = /etc/dovecot-mysql.conf  
  7.     }  
  8.     userdb sql {  
  9.         args = /etc/dovecot-mysql.conf  
  10.     }  
  11.     ……  
# vim /etc/dovecot-mysql.conf                
driver = mysql
connect = [host=localhost dbname=extmail user=extmail password=extmail]    
說明:"[]"內爲同一行使用時去掉"[]",下同    2010年11月29日更新
default_pass_scheme = CRYPT
password_query = [SELECT username AS user,password AS password FROM mailbox WHERE username = '%u']
user_query = [SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u']

接下來啓動dovecot服務:
# service dovecot start
#netstat -tnlp | grep :110
tcp      0    0 :::110    :::*    LISTEN    21456/dovecot
# chkconfig dovecot on

7、安裝Extmail-1.2
一、安裝
  
  
           
  
  
  1. # tar zxvf extmail-1.2.tar.gz  
  2. # mkdir -pv /var/www/extsuite  
  3. # mv extmail-1.2 /var/www/extsuite/extmail  
  4. # cp /var/www/extsuite/extmail/webmail.cf.default  /var/www/extsuite/extmail/webmail.cf  
二、修改主配置文件
#vim /var/www/extsuite/extmail/webmail.cf
部分修改選項的說明:
  
  
           
  
  
  1. SYS_MESSAGE_SIZE_LIMIT = 5242880 
  2. 用戶能夠發送的最大郵件  
  3. SYS_USER_LANG = en_US 
  4. 語言選項,可改做:  
  5. SYS_USER_LANG = zh_CN 
  6. SYS_MAILDIR_BASE = /home/domains  
  7. 此處即爲您在前文所設置的用戶郵件的存放目錄,可改做:  
  8. SYS_MAILDIR_BASE = /var/mailbox  
  9. SYS_MYSQL_USER = db_user 
  10. SYS_MYSQL_PASS = db_pass 
  11. 以上兩句句用來設置鏈接數據庫服務器所使用用戶名、密碼和郵件服務器用到的數據庫,這裏修改成:  
  12. SYS_MYSQL_USER = extmail 
  13. SYS_MYSQL_PASS = extmail 
  14. SYS_MYSQL_HOST = localhost 
  15. 指明數據庫服務器主機名,這裏默認便可  
  16. SYS_MYSQL_TABLE = mailbox 
  17. SYS_MYSQL_ATTR_USERNAME = username 
  18. SYS_MYSQL_ATTR_DOMAIN = domain 
  19. SYS_MYSQL_ATTR_PASSWD = password 
  20. 以上用來指定驗正用戶登陸裏所用到的表,以及用戶名、域名和用戶密碼分別對應的表中列的名稱;這裏默認便可  
  21. SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket  
  22. 此句用來指明authdaemo socket文件的位置,這裏修改成:  
  23. SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket  
三、apache相關配置
因爲extmail要進行本地郵件的投遞操做,故必須將運行apache服務器用戶的身份修改成您的郵件投遞代理的用戶;
本例中打開了apache服務器的suexec功能,故使用如下方法來實現虛擬主機運行身份的指定。
此例中的MDA爲postfix自帶,所以將指定爲postfix用戶:
 
  
  
           
  
  
  1. #vim /etc/httpd/conf/httpd.conf  
  2. <VirtualHost *:80> 
  3. ServerName mail.test.com  
  4. DocumentRoot /var/www/extsuite/extmail/html/  
  5. ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi  
  6. Alias /extmail /var/www/extsuite/extmail/html  
  7. SuexecUserGroup postfix postfix  
  8. </VirtualHost> 
修改 cgi執行文件屬主爲apache運行身份用戶:
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
若是您沒有打開apache服務器的suexec功能,也可使用如下方法解決:
  
  
           
  
  
  1. # vi /etc/httpd/httpd.conf  
  2. User postfix  
  3. Group postfix  
  4. <VirtualHost *:80> 
  5. ServerName mail.test.com  
  6. DocumentRoot /var/www/extsuite/extmail/html/  
  7. ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi  
  8. Alias /extmail /var/www/extsuite/extmail/html  
  9. </VirtualHost> 
四、依賴關係的解決
extmail將會用到perl的Unix::syslogd功能,您能夠去 http://search.cpan.org搜索下載原碼包進行安裝。
 
  
  
           
  
  
  1. # tar zxvf Unix-Syslog-0.100.tar.gz  
  2. # cd Unix-Syslog-0.100  
  3. # perl Makefile.PL  
  4. # make  
  5. # make install 
五、啓動apache服務
# service httpd start
# chkconfig httpd on
8、安裝Extman-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的虛擬主機部分,添加以下兩行:
#vim /etc/httpd/conf/httpd.conf
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
建立其運行時所需的臨時目錄,並修改其相應的權限:
#mkdir  -pv  /tmp/extman
#chown postfix.postfix  /tmp/extman
修改  vim /var/www/extsuite/extman/webman.cf
SYS_CAPTCHA_ON = 1

SYS_CAPTCHA_ON = 0
好了,到此爲止,從新啓動apache服務器後,您的Webmail和Extman已經可使用了,能夠在瀏覽器中輸入指定的虛擬主機的名稱進行訪問,以下:
http://mail.test.com  或者 http://192.168.0.123 本機IP 或者 http://localhost
選擇管理便可登入extman進行後臺管理了。默認管理賬號爲: root@extmail.org  密碼爲:extmail*123*
 
2011-09-12 新增 postfix的 sys v 風格啓動腳本
vim /etc/init.d/postfix
#!/bin/bash
#
# version 0.2
#name postfix script
#author hanfeng
# chkconfig: 2345
#
# processname: mailsys
# pidfile: /var/run/postfix.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/postfix ] || exit 0
RETVAL=0
prog="Postfix"
start() {
# Start daemons.
echo -n $"Starting $prog: "
/usr/sbin/postfix start > /dev/null 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
touch /var/lock/subsys/postfix
success $"$prog start"
else
failure $"$prog start failure"
fi
echo
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Shutting down $prog: "
/usr/sbin/postfix stop > /dev/null 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
rm -f /var/lock/subsys/postfix
success $"$prog stop"
else
failure $"$prog stop failure"
fi
echo
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $RETVA
--------------------------------------------
添加服務到系統
# chmod 755 /etc/init.d/postfix
#chkconfig --add postfix
# chkconfig --level 2345 postfix on
#service postfix restart
--------------------------------------------
新增說明:2011-11-24
優化郵件服務器內核
將一下內容追加到 /etc/sysctl.conf 中
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000
kernel.shmmax = 134217728
執行如下命令使本次修改生效
#sysctl -p
----------------------------------------------
總結:因爲筆者今天事太多了,又是第一次採用代碼方式書寫的blog,其中可能有疏忽錯誤之處,敬請指教;
在之後可能還會續寫用圖型化來監控extmail的使用流量;所用包均在官方網站可以downloads;
提供技術支持;
如下爲extmail使用的附加圖片僅供參考:
 
 
 
 
 
相關文章
相關標籤/搜索