postfix+dovecot

 postfix+dovecot(不使用mysql)

1.在DNS服務器設置好郵箱服務器的主機記錄及MX記錄
2.安裝postfix
yum -y install postfix
3.修改postfix配置文件
vi /etc/postfix/main.cf  
#myhostname = host.domain.tld  ← 找到此行,將等號後面的部分改寫爲主機名  
 ↓  
myhostname = mail.test.com  ← 變爲此狀態,設置系統的主機名  
#mydomain = domain.tld  ← 找到此行,將等號後面的部分改寫爲域名  
 ↓  
mydomain = test.com  ← 變爲此狀態,設置域名(我們將讓此處設置將成爲E-mail地址“@”後面的部分)  
#myorigin = $mydomain  ← 找到此行,將行首的#去掉  
 ↓  
myorigin = $mydomain  ← 變爲此狀態,將發信地址“@”後面的部分設置爲域名(非系統主機名)  
inet_interfaces = localhost  ← 找到此行,將“localhost”改爲“all”  
 ↓  
inet_interfaces = all  ← 變爲此狀態,接受來自所有網絡的請求  
mydestination = $myhostname, localhost.$mydomain, localhost  ← 找到此行,在行爲添加“$mydomain”  
 ↓  
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 變爲此狀態,指定發給本地郵件的域名  
#relay_domains = $mydestination  ← 找到此行,將行首的#去掉  
 ↓  
relay_domains = $mydestination  ← 變爲此狀態,定義允許轉發的域名  
#mynetworks = 0.0.0.0  ← 找到此行,依照自己的內網情況修改  
 ↓  
mynetworks = 0.0.0.0  ← 變爲此狀態,指定內網和本地的IP地址範圍  
#mail_spool_directory = /var/spool/mail  ← 找到這一行,去掉行首的#  
 ↓  
mail_spool_directory = /var/spool/mail  ← 變爲此狀態  
#smtpd_banner = $myhostname ESMTP $mail_name  
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)  ← 找到這一行,接此行添加如下行:  
smtpd_banner = $myhostname ESMTP unknow  ← 添加這一行,不顯示SMTP服務器的相關信息  
在配置文件的文尾,添加如下行:  
smtpd_sasl_auth_enable = yes  ← 服務器使用SMTP認證  
smtpd_sasl_local_domain = $myhostname  ← 指定SMTP認證的本地域名(主機名)  
smtpd_sasl_security_options = noanonymous   ← 不允許匿名的方式認證  
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination  
message_size_limit = 15728640  ← 規定郵件最大尺寸爲15MB  
 
4.配置SMTP認證的相關選項
vi /usr/lib/sasl2/smtpd.conf  ← 編輯SMTP認證的配置文件  
pwcheck_method: saslauthd  
[root@sample ~]# vi /etc/sysconfig/saslauthd  
MECH=shadow  ← 找到這一行,在前面加#  
FLAGS=  ← 找到此行,在等號後面添加“sasldb”  
 ↓  
FLAGS=sasldb   ← 定義認證方式爲sasldb2
 
5.首先建立用戶模板下的郵箱目錄,以便於建立新用戶時,相應用戶的郵箱目錄自動被建立。
mkdir /etc/skel/Maildir  ← 在用戶模板下建立用戶郵箱目錄  
chmod 700 /etc/skel/Maildir  ← 設置用戶郵箱目錄屬性爲700
 
然後再爲已經存在的用戶建立相應郵箱目錄。
mkdir /home/yhzhao/Maildir  ← 爲用戶(這裏以centospub用戶爲例)建立郵箱目錄  
chmod 700 /home/yhzhao/Maildir  ← 設置該用戶郵箱目錄屬性爲700  
chown yhzhao. /home/yhzhao/Maildir  ← 設置該用戶郵箱目錄爲該用戶所有
 
6.爲用戶設置SMTP認證密碼
view plaincopy to clipboardprint?
saslpasswd2 -u mail.3gf8.com -c yhzhao  ← 爲centospub用戶設置SMTP認證密碼  
Password:  ← 在這裏輸入密碼(不會顯示)  
Again (for verification):  ← 再次輸入密碼
 
7.改變SALS的屬性及歸屬
chgrp postfix /etc/sasldb2  ← 將數據庫歸屬改爲postfix,  
chmod 640 /etc/sasldb2  ← 將數據庫屬性改爲640 
 
 8.將默認的MTA設置爲Postfix。
alternatives --config mta  ← 設置默認MTA  
There are 2 programs which provide ‘mta’.  
共有 3 個程序提供“mta”。
 
  選擇    命令
-----------------------------------------------
 + 1           /usr/sbin/sendmail.postfix
*  2           /usr/sbin/sendmail.sendmail
   3           /usr/sbin/sendmail.exim
   按 Enter 來保存當前選擇[+],或鍵入選擇號碼:  ← 在這裏輸入1,使Postfix成爲默認MTA  
 
9.啓動相應的服務
chkconfig saslauthd on  ← 將SMTP-Auth設置爲自啓動  
chkconfig --list saslauthd  ← 確認SMTP-Auth服務狀態  
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 確認2~5爲on的狀態就OK  
/etc/rc.d/init.d/saslauthd start  ← 啓動SMTP-Auth  
Starting saslauthd:           [ OK ]  
chkconfig postfix on  ← 將Postfix設置爲自啓動  
chkconfig --list postfix  ← 確認Postfix服務狀態  
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 確認2~5爲on的狀態就OK  
/etc/rc.d/init.d/postfix start  ← 啓動Postfix  
Starting postfix:            [ OK ] 
 
 10.配置dovecot
 根據dovecot的版本不同有相應的變化default_mail_env在高版本里面變成maim_location,
 vi /etc/dovecot.conf
 protocols = imap pop3  ← 變爲此狀態  
 #mail_location = mbox:~/mail:INBOX=/var/mail/%u  ←找到這一行 
   mail_location = mbox:~/mail:INBOX=/var/mail/%u← 定義用戶郵件目錄 
 最後,啓動 Dovecot ,並將其設置爲自啓動。
 
 chkconfig dovecot on  ← 設置Dovecot爲自啓動  
 chkconfig –list dovecot  
dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 確認2~5爲on的狀態就OK  
 /etc/rc.d/init.d/dovecot start  ← 啓動Dovecot服務  
Starting Dovecot Imap:        [ OK ]
通過郵件客戶端來設置自己的郵件服務器吧。
 測試可以正常收發郵件
 
對郵件組進行權限控制

1.# vi /etc/postfix/main.cf

添加下面幾行:

#設置只能[email protected][email protected] 發郵件
smtpd_restriction_classes = local_only
local_only = check_sender_access hash:/etc/postfix/local_sender, reject
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/local_recipient

2.#vi local_sender

加入允許羣發到all的郵件列表:

[email protected]   OK
如果允許本域所有用戶可以羣發到all,則只添加

test.com  OK

即可。

3.# vi local_recipient
  添加羣賬號:

[email protected]    local_only

4.建立local_recipient和local_sender的hash表

#  postmap hash:/etc/postfix/local_sender

#  postmap hash:/etc/postfix/local_recipient 

在/etc/postfix目錄下生成2個db文件:

local_recipient.db和local_sender.db

5.重啓Postfix

# /etc/init.d/postfix restart

6.測試:只有在local_sender裏的用戶才能給[email protected]羣發,其他不受影響。

已經測試通過。

webmail配置

 安裝openwebmail前需安裝:

rpm -ivh perl-suidperl-5.8.8-27.el5.i386.rpm  perl-Text-Iconv-1.7-1.el5.rf.i386.rpm

rpm -ivh openwebmail-2.53-1.i386.rpm openwebmail-data-2.53-1.i386.rpm

cd /var/www/cgi-bin/openwebmail/

./openwebmail-tool.pl  --init

vi etc/openwebmail.conf

        domainnames                     test.com(默認爲auto)

        default_language                zh_CN.GB2312(默認爲en)

        default_iconset                 Cool3D.Chinese.Simplified

vi etc/defaults/openwebmail.conf

        smtpserver                      127.0.0.1
        更改爲:
        smtpserver                      192.168.30.16 (更改smtp服務器的地址)

        mailspooldir                    /var/spool/mail(此先項與main.cf和dovecot中的  mail_location保持一致,否剛openwebmail收不到郵件)
        authpop3_server               localhost
        更改爲:
        authpop3_server               192.168.30.16 (更改pop3服務器的地址)
 

vi etc/defaults/dbm.conf

        dbmopen_ext              none
        更改爲:
        dbmopen_ext              .db
        dbmopen_haslock        no
        更改爲:
        dbmopen_haslock        yes
        smtpserver                192.168.30.16 (添加smtp服務器的地址)
然後再次執行:./openwebmail-tool.pl --init

vi /etc/httpd/conf/httpd.conf

ServerName mail.test.com:80    -----找到此行,去掉註釋後改成服務器名稱

AddHandler cgi-script .cgi   ----------找到此行,去掉註釋

/etc/init.d/httpd restart     --------------重啓http

打開瀏覽器輸入:http://mai.test.com/openwebmail/openwebmail.pl

多域名支持設置

vi /etc/postfix/main.cf
virtual_alias_maps=hash:/etc/postfix/virtual
二、定義虛擬域名轉換規則
$ vi /etc/postfix/virtual                  //在文件末尾添加上下面兩行
test.cn anything
@test.cn @test.com

[email protected][email protected]
三、更新虛擬域名規則
$ postmap /etc/postfix/virtual
四、重啓postfix
$ service postfix restart

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章