我的Linux生涯之邮件服务----POSTFIX


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

212550578.png

212702459.png

212721757.png

212739648.png



再来使用jay用户登陆,来收取邮件

212803880.png
来了。简单吧。

-------------------------------------------------------------------------------
邮件控制。

##就是对指定的对象定义是否能使用邮件服务

[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

213028340.png

213031288.png

 

 

 

 

你可能感兴趣的:(linux,postfix,邮件服务器,Dovecot)