Tmail郵件系統安裝手冊 V2.0版本 一、系統環境 centos6.0以上,最小化安裝(64位系統) 二、部署 一、刪除自帶的postfix、mysql、httpd # rpm -qa|grep postfix|xargs rpm -e --nodeps # rpm -qa|grep mysql|xargs rpm -e --nodeps 二、下載tmail安裝包 wget http://60.173.10.106:88/tmail_setup.tar.bz2 三、安裝 tar jxvf tmail_setup.tar.bz2 cd tmal_setup ./install.sh 看到這句話,說明安裝成功了。 Tmail System Installed Succesfully! ^_^ 四、啓動郵件系統重啓系統便可 五、訪問郵件系統 一、郵件系統後臺 https://192.168.201.54 默認用戶名:admin 默認密碼:hing123 選擇:管理員登陸後臺管理系統 二、郵件系統前臺 http://192.168.201.54:88 輸入:用戶郵件地址和密碼登陸前臺 三、郵件系統數據庫 http://192.168.201.54:88/dbadmin/ 默認用戶名:root 默認密碼:tmail 三、常見故障 一、啓動postfix故障 [root@test tmail]# /tmail/postfix/sbin/postfix start postsuper: fatal: scan_dir_push: open directory defer: Permission denied postfix/postfix-script: fatal: Postfix integrity check failed! 解決: [root@test tmail]# chown postfix:root /tmail/postfix/spool/ -R [root@test tmail]# chown postfix:postdrop /tmail/postfix/spool/maildrop/ -R [root@test tmail]# chown postfix:postdrop /tmail/postfix/spool/public/ -R [root@test tmail]# chmod g+s /tmail/postfix/sbin/postdrop [root@test tmail]# chmod g+s /tmail/postfix/sbin/postqueue [root@test tmail]# chown postfix.root /var/lib/postfix/ -R 啓動postfix: [root@test tmail]# /tmail/postfix/sbin/postfix start postfix/postfix-script: starting the Postfix mail system 二、啓動spamd故障 [root@test tmail]# /tmail/spamd/bin/spamd May 17 04:55:33.618 [29729] warn: netset: cannot include 127.0.0.1/32 as it has already been included May 17 04:55:35.329 [29729] info: spamd: server started on port 783/tcp (running version 3.3.2) May 17 04:55:35.329 [29729] info: spamd: server pid: 29729 May 17 04:55:35.332 [29729] info: spamd: server successfully spawned child process, pid 29731 May 17 04:55:35.350 [29729] info: spamd: server successfully spawned child process, pid 29732 May 17 04:55:35.354 [29729] info: prefork: child states: II May 17 05:02:30.710 [29731] info: spamd: connection from localhost [127.0.0.1] at port 55793 May 17 05:02:32.899 [29731] warn: spamd: bad protocol: header error: (closed before headers) May 17 05:02:42.161 [29729] info: prefork: child states: II 解決: [root@test tmail]# vi /tmail/spamd/etc/mail/spamassassin/local.cf #--trusted_networks_start-- #trusted_networks 127.0.0.1 //註釋掉解決: warn: spamd: bad protocol: header error: (closed before headers) 域名問題 vi /etc/hosts XX.XX.XX.XX mail.XXX.com 四、postfix配置文件 一、vi /tmail/postfix/etc/main.cf #--system_default_process_limit_start-- default_process_limit = 50 #--system_default_process_limit_end-- #--system_default_destination_recipient_limit_start-- #若是一封信的收信人超過50個,postfix會自動將此信複製成不少份,以50人爲單位,分批寄送 default_destination_recipient_limit = 50 #--system_default_destination_recipient_limit_end-- #--system_smtpd_error_sleep_time_start-- #當客戶端引起錯誤時,postfix的初始等待時間。當錯誤次數超過smtpd_soft_error_limit的限制時,postfix在每次錯誤以後,都會延長5秒等待時間 smtpd_error_sleep_time = 5s #--system_smtpd_error_sleep_time_end-- #--system_smtpd_soft_error_limit_start-- #客戶端在發生10次錯誤以後,postfix纔開始執行再出現錯誤就延遲5秒的操做 smtpd_soft_error_limit = 10 #--system_smtpd_soft_error_limit_end-- #--system_smtp_hard_error_limit_start-- #SMTP服務所容許的硬錯誤次數。這個參數對於防止惡意攻擊很是有效 smtp_hard_error_limit = 100 #--system_smtp_hard_error_limit_end-- #--system_strict_rfc821_envelopes_start-- #嚴格使用rfc821 strict_rfc821_envelopes = yes #--system_strict_rfc821_envelopes_end-- #--set_relayhost_start-- #relayhost = [61.139.2.69] #--set_relayhost_end-- #--system_domain_start-- #設置郵件服務器域名 myhostname = mail.XXX.com #--system_domain_end-- mydestination = localhost smtp_helo_name = $myhostname local_transport = maildrop virtual_transport = maildrop mailbox_transport = maildrop local_destination_concurrency_limit = 1 maildrop_destination_recipient_limit = 1 #--system_messages_size_limit_start-- #郵件附件大小50M message_size_limit = 52428800 #--system_messages_size_limit_end-- #讓虛擬域,虛擬郵箱別名等讀取mysql virtual_mailbox_base = / recipient_bcc_maps = mysql:/tmail/postfix/etc/mysql/recipient_bcc_map.cf sender_bcc_maps = mysql:/tmail/postfix/etc/mysql/sender_bcc_maps.cf virtual_mailbox_domains = mysql:/tmail/postfix/etc/mysql/virtual_mailbox_domains.cf #virtual_transport_maps = maildrop virtual_mailbox_maps = mysql:/tmail/postfix/etc/mysql/virtual_mailbox_maps.cf virtual_uid_maps = mysql:/tmail/postfix/etc/mysql/virtual_uid_maps.cf virtual_gid_maps = mysql:/tmail/postfix/etc/mysql/virtual_gid_maps.cf virtual_alias_maps = mysql:/tmail/postfix/etc/mysql/virtual_alias_maps.cf,mysql:/tmail/postfix/etc/mysql/tmail_group.cf virtual_alias_domains = $virtual_alias_maps relay_domains = mysql:/tmail/postfix/etc/mysql/relay_domains.cf #local_transport = virtual local_recipient_maps = $virtual_mailbox_maps broken_sasl_auth_clients = yes smtpd_sender_login_maps = mysql:/tmail/postfix/etc/mysql/smtp_login.cf smtpd_reject_unlisted_sender = yes #--restrict_start-- #smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032 permit #--restrict_end-- smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, permit_tls_clientcerts, reject_unknown_sender_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_pipelining, reject_unauth_destination, # reject_unlisted_recipient, #--enable_rbl_client_start-- reject_rbl_client zen.spamhaus.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client bl.spamcop.net, #--enable_rbl_client_end-- #--enable_policyd_start-- # check_policy_service inet:127.0.0.1:10031 #--enable_policyd_end-- #使用dovecot(生成的socket文件)來作smtpd的認證, 並設置容許本地用戶和經過認證的用戶使用smtpd(發郵件) smtpd_sasl_authenticated_header = yes //禁止匿名用戶登陸 smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sasl_path = /tmail/postfix/spool/private/auth #--disbale_lookup_start-- smtpd_peername_lookup = no #--disable_lookup_end-- #smtpd_delay_reject = yes smtpd_proxy_timeout = 180s #--helo_require_start-- smtpd_helo_required = yes #--helo_require_end-- #--disable_vrfy_start-- disable_vrfy_command=yes #--disable_vrfy_end-- #--enable_domainkey_start-- smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891 #--enable_domainkey_end-- #--start tls set-- #讓smtp支持加密 smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_cert_file = /tmail/postfix/tls/cert.pem smtpd_tls_key_file = /tmail/postfix/tls/privkey.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom #--end tls set-- 二、啓動postfix 啓動: /tmail/postfix/sbin/postfix start 中止: /tmail/postfix/sbin/postfix stop 從新加載: /tmail/postfix/sbin/postfix reload 五、dovecot配置文件 一、dovecot支持的協議 vi /tmail/dovecot/etc/dovecot/dovecot.conf ## Dovecot configuration file # Protocols we want to be serving. #支持imap、pop三、lmtp協議 protocols = imap pop3 lmtp instance_name = dovecot 二、讓dovecot支持mysql中的虛擬用戶 一、 vi /tmail/dovecot/etc/dovecot/conf.d/10-auth.conf #取消該行註釋 !include auth-sql.conf.ext 二、 vi /tmail/dovecot/etc/dovecot/dovecot-sql.conf.ext driver = mysql connect = host=localhost dbname=tmail user=tmail password=tmail default_pass_scheme = CRYPT password_query = SELECT email, domain, password FROM tmail_mailbox WHERE email = '%u' AND active = '1' userid = '%u' user_query = SELECT homedir AS home, uid, gid FROM tmail_mailbox where email = '%u' AND active = '1' 三、dovecot指定郵件存放目錄 vi /tmail/dovecot/etc/dovecot/conf.d/10-mail.conf mail_location = maildir:%h/Maildir 六、殺毒軟件Clamav 一、啓動殺毒軟件 /tmail/clamav/sbin/clamd 二、升級病毒庫 /tmail/clamav/bin/freshclam 採用crontab設置定時升級病毒庫 七、垃圾郵件過濾SpamAssassin 一、啓動spamd /tmail/spamd/bin/spamd -u spamd -d -c -m5 -H -r /var/run/spamd.pid 二、設置參數經過登陸後臺,設置SpamAssassin 包括:(1)、對識別出來的垃圾郵件附加到主題的字符:如」垃圾「或「spam」 (2)、是否在郵件內容中詳細過濾信息(3)、安全網絡,對安全網絡發來的郵件不進行過濾(4)、設置過濾分數,高於此處設置的分數即爲垃圾郵件(5)、是否使用貝葉斯算法(6)、是否開啓貝葉斯自動學習 八、web程序使用nginx+php組合 一、web管理 一、啓動web程序 /tmail/httpd/sbin/nginx 二、從新啓動 kill -hup `cat /tmail/httpd/logs/nginx.pid` 二、php管理 一、啓動php /tmail/httpd/php/sbin/php-fpm start 二、從新啓動 /tmail/httpd/php/sbin/php-fpm reload 九、數據庫 一、mysql啓動 /tmail/mysql/support-files/mysql.server start 二、mysql管理默認root密碼:tmail 能夠經過phpmyadmin管理php