1.关闭Sendmail服务:
查看Sendmai服务是否在监听TCP25端口
netstat -nutlp | grep :25
关闭Sendmail
/etc/rc.d/init.d/sendmail stop
chkconfig sendmail off
chkconfig sendmail --list
2.安装Postfix,在DISK4上
用rpm -ivh 安装
确认命令:
rpm -q postfix
3.配置/etc/postfix/main.cf,用域名例:syw.sh.cn
以下是需要修改的地方
myhostname = song.syw.sh.cn
mydomain = syw.sh.cn
myorigin = $mydomain
inet_interface = all
mydestination = $mydomain, $myhostname, localhosst, localhost.$mydomain
mynetworks = 192.168.16.0/28, 127.0.0.0/8
mynetworks_style = subnet
relay_domains = $mydestination
然後準備來啟動啦!你可以這樣處理喔:
1. 先檢查設定檔的語法是否有錯誤 [root@linux ~]# postfix check <==如果沒有出現任何訊息,表示沒有問題。 2. 啟動與觀察 port number [root@linux ~]# /etc/init.d/postfix restart [root@linux ~]# netstat -tlunp | grep ':25' tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 20850/master |
邮件大小尺寸控制: 30M
[root@mail postfix]# vi main.cf
message_size_limit = 30720000
默认邮箱大小为300M(下面两项都要设置才能设置默认邮箱大小为300M)
mailbox_size_limit = 307200000 //默认的邮箱大小
virtual_mailbox_limit = 30720000 //默认的邮箱大小
3。安装Cyrus-SASL , 在DISK2、3上
确认命令:
rpm -qa | grep sasl
cyrus-sasl-sql
cyrus-sasl-md5
cyrus-sasl-plain
cyrus-sasl-devel
cyrus-sasl-ntlm
cyrus-sasl
cyrus-sasl-gssapi
共以上7个文件
验证机制选择:
saslauthd -v
MACH=shadow
启动及测试:
ps aux | grep saslauthd
/etc/init.d/saslauthd start
chkconfig saslauthd on
/usr/sbin/testsaslauthd -u song -p 'xxxxxx'
(其中song是LINUX用户名,xxxxxx是密码)
4。设置/etc/postfix/main.cf启用SMTP
在最后加上:
#Cyrus-SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = "
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
#
#Cyrus-imapd
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
5.启动postfix
/etc/init.d/postfix start
测试:
telnet song.syw.sh.cn 25
EHLO 163.com
EHLO sh163.net
quit
chkconfig postfix on
chkconfig postfix --list
开放25端口
iptables -I INPUT -p tcp --dport 25 -j ACCEPT
6。安装Cyrus-imapd服务,在DISK4上,使用rpm -ivh命令
例:
rpm -ivh /media/cdrom/RedHat/RPMS/cyrus-imapd-devel-2.2.12-3.RHEL4.1.i386.rpm
确认命令:
rpm -qa | grep cyrus-imapd
rpm -qa | grep perl-Cyrus
cyrus-imapd-nntp
cyrus-imapd-
cyrus-imapd-devel
cyrus-imapd-murder
perl-Cyrus
cyrus-imapd-utils
共6个文件,utils一定要在perl后安装
启动cyrus-imapd:
service cyrus-imapd start
chkconfig cyrus-imapd on
chkconfig cyrus-imapd --list
7.用户邮箱管理
设定管理员密码:
passwd cyrus
为用户创建邮箱:
/usr/lib64/cyrus-imapd/cyradm -u cyrus localhost
输入管理员密码后进入管理命令状态
>cm user.song
>cm user.song.Send
>cm user.song.Trash
>cm user.song.Drafts
设置配额:(例:5M)
>sq user.song 5210
>listquota user.song
退出:
>quit
8。查看运行LOG
tail -f /var/log/maillog
如果出现这样的错误:
Jan 20 23:45:21 argus postfix/lmtp[24296]: 64659F49CE: to=, orig_to=, relay=none, delay=0, status=deferred (connect to /var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp]: Permission denied)
再mail服务里面加上postfix
どうやら/var/lib/imap/socket/lmtpのパーミッションが無い模様。 ファイルのパーミッションを確認しても、worldに対してread/write/execute権限有りとなっている。 よく分からないので、とりあえずsu postfixでpostfixユーザーになってみたところ、/var/lib/imap/socket/lmtpにはアクセスできなかった。 原因は、/var/lib/imapディレクトリの実行権がないことだった。 所有者およびグループには実行権があるのだが、オーナーはcyrus:mailであり、postfixユーザーはアクセス権が無かったのだった。
いろいろ直し方が在るだろうが、対策としては/etc/groupファイルのmailグループにpostfixを追加した。