1、先配置DNS,只要能正向解析mail.tarena.com就行了。
[root@server1 ~]# rpm -q bind bind-chroot caching-nameserver package bind is not installed package bind-chroot is not installed package caching-nameserver is not installed [root@server1 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [root@server1 ~]# yum -y install bind bind-chroot caching-nameserver |
2、修改主配置文件
[root@server1 ~]# cd /var/named/chroot/etc/ [root@server1 etc]# cp -p named.caching-nameserver.conf named.conf ... 15 listen-on port 53 { any; }; ... 27 allow-query { any; }; 28 allow-query-cache { any; }; ... 37 match-clients { any; }; 38 match-destinations { any; }; ... 41 zone "tarena.com" IN { 42 type master; 43 file "tarena.com.zone"; 44 }; ... [root@server1 etc]# named-checkconf named.conf |
3、配置區域文件
[root@server1 etc]# cd /var/named/chroot/var/named/ [root@server1 named]# cp -p named.zero tarena.com.zone [root@server1 named]# cat tarena.com.zone $TTL 86400 @ IN SOA tarena.com. root.tarena.com. ( 2013122401 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS dns1.tarena.com. IN MX 5 mail.tarena.com. dns1 IN A 192.168.10.254 mail IN A 192.168.10.20 [root@server1 named]# named-checkzone tarena.com tarena.com.zone zone tarena.com/IN: loaded serial 2013122401 OK |
4、啓動DNS
[root@server1 named]# service named restart [root@server1 named]# chkconfig named on [root@ser1 named]# dig -t mx tarena.com |grep -A1 "ANSWER SECTION" ;; ANSWER SECTION: tarena.com. 86400 IN MX 5 mail.tarena.com. |
好了,DNS配置好了之後,就來做郵件吧。
普通的郵件收發
目的:tom和jay這兩個用戶可以互相收發郵件生涯
安裝軟件
安裝postfix和dovecot
[root@ser1 ~]# rpm -qa |grep -E "postfix|dovecot" //沒有安裝postfix和dovecot這兩個包 [root@ser1 ~]# yum install postfix dovecot -y Loaded plugins: product-id, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package dovecot.x86_64 0:1.0.7-7.el5_7.1 set to be updated --> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: dovecot --> Processing Dependency: libpq.so.4()(64bit) for package: dovecot --> Processing Dependency: libmysqlclient.so.15()(64bit) for package: dovecot ---> Package postfix.x86_64 2:2.3.3-6.el5 set to be updated --> Running transaction check ....... Dependency Installed: mysql.x86_64 0:5.0.95-3.el5 perl-DBI.x86_64 0:1.52-2.el5 postgresql-libs.x86_64 0:8.1.23-6.el5_8 Complete! |
配置postfix
[root@ser1 ~]# cd /etc/postfix/ [root@ser1 postfix]# postconf -n //查看除了默認參數之外的參數,默認參數即使你不寫也會默認生效的。所以我們就乾脆不寫了。就寫有用的就好 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 html_directory = no inet_interfaces = localhost mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES sample_directory = /usr/share/doc/postfix-2.3.3/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop [root@ser1 postfix]# postconf -n > mail.conf [root@ser1 postfix]# mv main.cf main.cf.bak [root@ser1 postfix]# mv mail.conf main.cf //一定要在postconfi -n命令生成參數之後 再給原來的main.cf文件改名。 .... 8 #inet_interface = localhost .... 20 mydomain = tarena.com //域名 21 myhostname = mail.tarena.com //主機名 22 myorigin = $mydomain //發件人DNS後綴 23 mydestination = $mydomain //允許postfix處理的郵件 24 home_mailbox = Maildir/ //用戶郵件存放的方式 25 mynetworks = 192.168.10.0/24 //指定信任轉發 [root@ser1 postfix]# vim /etc/dovecot.conf .... 20 protocols = imap imaps pop3 pop3 //使用的協議 .... 85 ssl_disable = no .... [root@ser1 named]# netstat -tlunp |grep :25 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3322/sendmail [root@ser1 named]# service sendmail stop Shutting down sm-client: [ OK ] Shutting down sendmail: [ OK ] [root@ser1 named]# service dovecot restart Stopping Dovecot Imap: [FAILED] Starting Dovecot Imap: [ OK ] [root@ser1 named]# service postfix restart Shutting down postfix: [FAILED] Starting postfix: [ OK ] [root@ser1 named]# netstat -tlunp |grep :25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 15105/master |
再來創建測試用的用戶
[root@ser1 postfix]# useradd tom [root@ser1 postfix]# useradd jay [root@ser1 postfix]# echo "123qwe" |passwd --stdin tom Changing password for user tom. passwd: all authentication tokens updated successfully. [root@ser1 postfix]# echo "123qwe" |passwd --stdin jay Changing password for user jay. passwd: all authentication tokens updated successfully. |
測試
我用的是Foxmail
再來使用jay用戶登陸,來收取郵件
來了。簡單吧。
-------------------------------------------------------------------------------
郵件控制。
##就是對指定的對象定義是否能使用郵件服務
[root@ser1 ~]# vim /etc/postfix/sender_access [email protected] REJECT [root@ser1 ~]# postmap /etc/postfix/sender_access [root@ser1 ~]# ls -l /etc/postfix/sender_access.db -rw-r--r-- 1 root root 12288 Dec 25 04:14 /etc/postfix/sender_access.db [root@ser1 ~]# service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ] [root@ser1 ~]# vim /etc/postfix/main.cf .... 26 smtpd_sender_restrictions = 27 permit_mynetworks, //空一格表示和上面的爲同一行。 28 reject_sender_login_mismatch, 29 reject_non_fqdn_sender, 30 reject_unknown_sender_domain, 31 check_sender_access hash:/etc/postfix/sender_access |
-------------------------------------------------------------------------------
安裝WEBMAIL
[root@ser1 ~]# yum install squirrelmail
....
26 $squirrelmail_default_language = 'zh_CN'; //指定語言
....
28 $domain = 'tarena.com';
29 $imapServerAddress = '192.168.10.10'; //接收郵件服務器的IP地址
....
32 $smtpServerAddress = '192.168.10.10';
....
[root@ser1 ~]# service httpd restart
Stopping httpd: [FAILED]
Starting httpd: [ OK ]
[root@ser1 ~]# chkconfig httpd on
[root@ser1 ~]# grep -i alias /etc/httpd/conf.d/squirrelmail.conf
Alias /webmail /usr/share/squirrelmai