postfix+pop3+imap+cyrus



1.安裝postfix軟件包
2.安裝smtp認證包
3.安裝pop3和imap服務包
4.安裝webmail軟件包(webmail需要web服務器的支持)

Postfix

 

一.Postfix郵件服務的安裝

1.關閉sendmail   

# /etc/init.d/sendmail stop

# chkconfig sendmail off

2.使用rpm命令安裝postfix

# rpm -ivh postfix-2.3.3-2-2.i386.rpm

3.配置postfix服務的主要配置文件

vim /etc/postfix/main.cf

myhostname = mail.123.com    FQDN

mydomain = 123.com          域名

myorigin = $ mydomain        設置由本機發出郵件所使用的域名或主機名稱

inet_interfaces = all            監聽端口

mydestination = $mydomain, $myhostname   這一行是設置可接受郵件的主機名或域名(這一項一般不需要修改)

mynetworks_style = class       根據ip得知ip網段的 A B C

            subnet           默認  根據網卡上的設置開放網段

            host             開放本機的轉發功能

myneworks = 192.168.1.0/24, 127.0.0.1/8    設置可轉發那個網絡的郵件

 

 

二.SMTP認證的配置

 

描述:Postfix服務只是一個MTA(郵件傳輸代理),它只提供smtp服務,也就是說只提供郵件的轉發以及本地分發功能

 

1.安裝cyrus-sasl認證包  

默認情況下這個包是已經安裝的,可以使用以下命令查看

#rpm -qa |grep cyrus-sasl

 

如果沒有結果就執行以下命令安裝

# rpm -ivh cyrus-sasl-2.1.22-4.i386.rpm

設置開機啓動

#/etc/rc.d/init.d/saslauthd start

# chkconfig saslauthd on

2.cyrus-sasl v2版本的密碼驗證

默認cyrus-sasl使用的守護進程名爲saslauthd

查看支持的驗證方式 

# saslauthd -v

3.設置main.cfpostfix可以與saslauthd聯繫

vim /etc/postfix/main.cf

smtpd_sasl_auth_enable=yes              啓用smtp

smtpd_sasl_local_domain=‘’            允許本地域使用sasl

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination   

permit     允許的網絡不需要驗證,

reject      拒絕的網絡需要通過驗證後才轉發

broken_sasl_auth_clients=yes            打破客戶端驗證,使客戶端只使用sasl方式驗證登錄     

smtpd_client_restrictions=permit_sasl_authenticated  客戶端限制,只允許sasl方式的驗證 

smtpd_sasl_security_options=noanonymous 取消登錄(禁止匿名登錄)

 

 

4.設置saslauthd使用shadow文件認證機制

vim /etc/sysconfig/saslauthd

MECH = shadow

5.測試

 

三.Pop和imap郵件服務

描述:實現郵件的異地接收,默認這兩個服務是沒有的,需要安裝兩個軟件包來提供popimap郵件服務(dovecotcyrus-imapd)。Popimap服務所使用的端口分別是 110143.

 

1.安裝dovecot

需要安裝的perl-DBI mysql dovecot 

 

 

# /etc/rc.d/init.d/dovecot start

# chkconfig dovecot on

2.dovecot服務的配置

vim /etc/dovecot.conf

protocols = pop3 pop3s

protocol pop3 { 

             listen = *:10100 

}

3.安裝cyrus-imapd

需要安裝cyrus-imapd-pearl  cyrus-imapd-utils  db4-utils  lm_sensors  cyrus-imapd  cyrus-imapd-devel

 

# /etc/init.d/cyrus-imapd start

# chkconfig cyrus-imapd on

 

4.postfixcyrus-imapd整合在一起

vim /etc/postfix/main.cf

mailbox_transport=lmtpunix:/var/lib/imap/socket/lmtp

5.管理用戶郵箱

創建用戶

passwd cyrus   cyrus管理員賬戶設置密碼

useradd test

passwd test

cyradm -u cyrus localhost

cm user.test                 創建用戶

cm user.test.Send               發件箱

cm user.test.Trash               收件箱

cm user.test.Drafts               垃圾箱

setquota user.test 5120     (設置郵箱配額大小,默認以k爲單位)

lm   列出與給定字符串

cm   創建一個新的郵箱

dm   刪除一個郵件信箱及其下層的所有文件夾

renm 爲郵件信箱更名

dam  刪除用戶訪問郵件信箱的部分或全部權限

lam  列出郵件信箱的訪問權限列表

sq   爲郵件信箱設置配額   

lq   列出郵件信箱的配額   

 

# su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看郵箱配額

 

 

四.Squirrelmail 

1.安裝squirrelmail

需要的安裝包 php-mbstring  squirrelmail

 

2.配置webmail

可以使用/etc/squirrelmail/config.php 文件來修改配置選項

使用Squirrelmail的配置工具修改配置選項

# /usr/share/squirrelmail/config/config.pl

 

2 ;   1;   123.com; 3 ;  2;  s;   r

10;  1;  zh_CN;  2; gb2312 ;  s;  r

4;    5;   y;  s;   r

D; cyruss;  q

1)設置域名跟smtp

 

2)設置語言

 

 

3

 

 

 

 

五.dns與httpd簡單設置

vim /var/named/chroot/etc/named.conf

 

vim /var/named/chroot/var/named/123.com.zone

 

 

清空/etc/resolv.conf文件的內容

 

 

 

客戶端測試收發郵件

 

 

 

 

 

 

postfix郵件常用命令:

查看隊列:postqueue -p

清空隊列:postsuper -d ALL

postfix有四種不同的郵件隊列,並且由隊列管理進程統一進行管理:

1. maildrop:本地郵件放置在maildrop中,同時也被拷貝到incoming中。

2. incoming:放置正在到達或隊列管理進程尚未發現的郵件。

3. active:放置隊列管理進程已經打開了並正準備投遞的郵件,該隊列有長度的限制。

4. deferred:放置不能被投遞的郵件。

啓動postfixpostfix start

停止postfixpostfix stop

重新讀取postfix配置文件:postfix reload

立即投遞隊列中所有郵件:postfix flush

查看隊列郵件:postqueue -p

使用postsuper 來維護隊列

一般是先用mailq查看隊列裏的郵件,找到對應的id,然後用postsuper -d來刪除。

例如id0EAF3A9B 那麼postsuper -d

########################################################
########################################################



 ------------------------------------------------------------
基本配置文件

vim /etc/postfix/main.cf

myhostname = mail.123.com    FQDN
mydomain = 123.com         域名
myorigin = $ mydomain        設置由本機發出郵件所使用的名稱
inet_interfaces = all        監聽端口
mydestination(不用修改)    這一行是設置可接受郵件的主機名或域名
mynetworks= class            根據ip得知ip網段的 A B C類
subnet                       默認  根據網卡上的設置開放網段
host                         開發本機的轉發功能
myneworks = 192.168.1.0/24, 127.0.0.1/8    設置可轉發那個網絡的郵件
relay_domains =123.com       轉發到下一個mta的域名
alias_maps=hash:/etc/aliases         郵件別名配置文件postmap
alias_database=hash:/etc/aliases     郵件別名數據庫 postalias
-------------------------------------------------------------
訪問控制配置文件

vim /etc/postfix/master.cf
vim /etc/postfix/access              存取控制文件
192.168.1.1    ACCEPT               允許
baidu.com    REJECT               拒絕
portmap /etc/postfix/access          是配置文件生效
-------------------------------------------------------------
用戶別名配置文件

vim /etc/aliases 別名
真實用戶名:    別名
postalias hash:/etc/aliases          使別名文件生效
-------------------------------------------------------------
虛擬別名域

vim /etc/postfix/main.cf
virtual_alias_domain = a.net b.net              域的別名
virtual_alias_maps = hash:/etc/postfix/virtual  域別名的文件

vim /etc/postfix/virtual
@a.net(別名)    @a.com(真實)
@b.net                @b.net

postalias /etc/aliases      
portmap /etc/postfix/virtual 使別名域生效

dns設置
a.com         IN NS     127.0.0.1
www           IN A       192.168.1.1
mail.a.com    IN CNAME  www.a.com
a.com        IN MX 10  mail.a.com

------------------------------------------------------------
SMTP認證   (簡單郵件傳輸協議)
提供郵件的轉發以及本地的分發功能
cyrus sasl
cyrus 主要提供saslauthd服務來進行帳號密碼的對比操作

安裝cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5  等軟件
啓動saslauthd服務

設置main.cf讓postfix可以與saslauthd聯繫
vim /etc/postfix/main.cf
smtpd_sasl_auth_enable=yes              啓用smtp
smtpd_sasl_local_domain=‘’            允許本地域使用sasl
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination  
permit允許的網絡不需要驗證,reject      拒絕的網絡需要通過驗證後才轉發
broken_sasl_auth_clients=yes            打破客戶端驗證,使客戶端只使用sasl方式驗證登錄    
smtpd_client_restrictions=permit_sasl_authenticated  客戶端限制,只允許sasl方式的驗證
smtpd_sasl_security_options=noanonymous 取消登錄(禁止匿名登錄)
saslauthd -v                            查看可使用的密碼驗證方式
testsaslauthd -u cyrus -p ‘123456’    測試saslauthd認證功能

設置saslauthd的認證機制
vim /etc/sysconfig/saslauthd
MECH=shadow

--------------------------
安裝pop3  
dovecot perl-DBI mysql
編輯pop3主配置文件開啓pop3服務器:
vim /etc/dovecot.conf
protocols=pop3 pop3s
protocol pop3{listen=*:10100}
/etc/init.d/dovecot start


----------------------------
安裝 imap
cyrus-imapd-perl cyrus-imapd-utils db4-utils lm_sensors cyrus-imapd cyrus-imapd-devel
將postfix與cyrus-imapd整合在一起
vim /etc/postfix/main.cf
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
/etc/init.d/cyrus-imapd start

--------------------------------------------------------------------



創建用戶
password cyrus   給cyrus管理員賬戶設置密碼
useradd test
passwd -d test
cyradm -u cyrus localhost
cm user.test                 創建用戶
cm user.test.Send            發件箱
cm user.test.Trash           收件箱
cm user.test.Drafts          垃圾箱
setquota user.test 5120     (設置郵箱配額大小,默認以k爲單位)
lm   列出與給定字符串
cm   創建一個新的郵箱
dm   刪除一個郵件信箱及其下層的所有文件夾
renm 爲郵件信箱更名
dam  刪除用戶訪問郵件信箱的部分或全部權限
lam  列出郵件信箱的訪問權限列表
sq   爲郵件信箱設置配額  
lq   列出郵件信箱的配額  

su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看郵箱配額






web方式收發郵件  (squirrelmail)
安裝
php-mbstring
squirrelmail
配置工具  配置域名,smtp,語言,
/usr/share/squirrelmail/config/conf.pl
2 ;   1;   123.com; 3 ;  2;  s;   r
10;  1;  zh_CN;  2; gb2312 ;  s;  r
4;    5;   y;  s;   r
D; cyrus;s;  q





客戶端在寄信時設置“郵件主機認證”功能

設置saslauthd的認證機制
vim /etc/sysconfig/saslauthd
MECH=shadow





 

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