配置SELinux
查看是否安裝SELinux
[root@ebs-51660 ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing -SELinux security policy is enforced.
# permissive -SELinux prints warnings instead of enforcing.
# disabled -No SELinux policy is loaded.SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible valuesare:
# targeted- Only targeted network daemons are protected.
# strict -Full SELinux protection.SELINUXTYPE=targeted
安裝SELinux
[root@ebs-51660 ~]# yum install selinux-policy-targeted
wget linuxmail.info/files/rhel6/postfixdovecotsasl.te html
checkmodule -M -m -o postfixdovecotsasl.mod postfixdovecotsasl.te linux
semodule_package -o postfixdovecotsasl.pp -m postfixdovecotsasl.mod vim
semodule -i postfixdovecotsasl.ppcentos
安裝 cyrus-sasl 軟件包
[root@ebs-51660 ~]# yum install cyrus-sasl*服務器
(A)使用/etc/shadow文件驗證dom
[root@ebs-51660 ~]# vi /etc/sysconfig/saslauthdsocket
MECH=shadowtcp
FLAGS=post
[root@ebs-51660 ~]# vi /etc/sasl2/smtpd.conf 測試
pwcheck_method: saslauthd
mech_list: plain login
(B)使用/etc/sasldb文件驗證
[root@ebs-51660 ~]# vi /etc/sysconfig/saslauthd
#MECH=pam #註釋掉原文此行
FLAGS=sasldb
[root@ebs-51660 ~]# vi /etc/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login
[root@ebs-51660 ~]# saslpasswd2 -c admin -u kingmed.com
按提示輸入兩次密碼(不要與系統密碼相同),首次操做會生成/etc/sasldb2文件。
[root@ebs-51660 ~]# chgrp postfix /etc/sasldb2
[root@ebs-51660 ~]# chmod 640 /etc/sasldb2
啓動saslauthd
[root@ebs-51660 ~]#chkconfig saslauthd on
[root@ebs-51660 ~]#service saslauthd start
[root@ebs-51660 ~]# /usr/sbin/testsaslauthd -u admin -p '123456' #用系統密碼測試
0: NO "authentication failed"
解決辦法:
[root@ebs-51660 ~]# setsebool -P allow_saslauthd_read_shadow 1
若是仍是不能成功,則看的main.cf文件配置是否有錯
開放相關端口
[root@ebs-51660 ~]# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m multiport --dports 25,80,110,143 -j ACCEPT
[root@ebs-51660 ~]# service iptables restart
重啓postfix
[root@ebs-51660 ~]# chkconfig postfix on
[root@ebs-51660 ~]# service postfix restart
檢驗配置是否正確
postfix 提供了check命令,能夠檢查當前postfix 的配置是否有問題、文件和目錄權限是否正確
發送郵件測試
echo 'test' | mail -s 'test' test@test.com
Telnet登陸驗證
新安裝的centos系統是沒有安裝telnet的,須要本身安裝Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.kingmed.com ESMTP Postfix
ehlo localhost
250-mail.kingmed.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH DIGEST-MD5 GSSAPI PLAIN CRAM-MD5 LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
bGl1eXVodWlAa2luZ21lZC5jb20= #liuyuhui@kingmed.com的BASE64編碼
334 UGFzc3dvcmQ6
bGl1eXVodWk= #密碼liuyuhui的BASE64編碼
235 2.7.0 Authentication successful
mail from:liuyuhui@kingmed.com
250 2.1.0 Ok
rcpt to:jiangtao@kingmed.com
250 2.1.5 Ok
data
354 End data with . #回車後以點號(.)結束
hello,how are you?
250 2.0.0 Ok: queued as 934C83622
quit
221 2.0.0 Bye
Connection closed by foreign host.
來看下jiangtao用戶家目錄下是否有此郵件(注意queued as 934C83622):
[root@mail ~]# cat /home/jiangtao/Maildir/new/1375283408.Vfd00I3696M538506.mail.kingmed.com
Return-Path:
X-Original-To: jiangtao@kingmed.com
Delivered-To: jiangtao@kingmed.com
Received: from localhost (localhost [127.0.0.1])
(Authenticated sender: liuyuhui@kingmed.com)
by mail.kingmed.com (Postfix) with ESMTPA id 934C83622
for ; Wed, 31 Jul 2013 23:09:20 +0800 (CST)
Message-Id: <20130731150940.934C83622@mail.kingmed.com>
Date: Wed, 31 Jul 2013 23:09:20 +0800 (CST)
From: liuyuhui@kingmed.com
To: undisclosed-recipients:;
hello,how are you?
POP/ IMAP設置
爲了讓用戶能在本地機器下載郵件,必須在服務器安裝設置POP或IMAP。Dovecot是適用CentOS Linux郵件系統有名的imap/pop服務器之一,它支持maildir和mbox格式。
安裝dovecot
[root@ebs-51660 ~]# yum -y install dovecot
[root@ebs-51660 ~]# vim /etc/dovecot/dovecot.conf
protocols = imap pop3 // 大概在20行的位置
listen = * // 27行左右
[root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no // 9行,將yes改成no並去掉#號
auth_mechanisms = plain login // 97行
[root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
[root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener auth-userdb {
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
}
[root@ebs-51660 ~]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no
[root@ebs-51660 ~]# vim /etc/dovecot/conf.d/20-pop3.conf
pop3_uidl_format = XuXv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
配置完後使用dovecot -n查看全部配置。
啓動dovecot:
[root@ebs-51660 ~]# chkconfig dovecot on
[root@ebs-51660 ~]# service dovecot start
如今你可使用郵件客戶端代理軟件和系統用戶及密碼來鏈接咱們的Dovecot服務器了。
未完待續 http://www.cnblogs.com/apexchu/p/4271264.html http://blog.chinaunix.net/uid-20362960-id-1699884.html http://my.oschina.net/u/2450048/blog/531171 http://www.mamicode.com/info-detail-1162987.html http://blog.jjonline.cn/linux/185.html