Postmail是一个电子邮件服务程序。
特点:
1. postfix是免费的:
2. 更快:
postfix在性能上大约比sendmail×××倍。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意***者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。
postfix的邮件队列(mail queues)
postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:
1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。
2. incoming:放置正在到达或队列管理进程尚未发现的邮件。
3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。
4. deferred:放置不能被投递的邮件。
下面我们来看看它的搭建
配置
1、
给主机改名
编辑配置文件
[root@zlj ~]# vim /etc/sysconfig/network
[root@zlj ~]# vim /etc/hosts
重启生效
[root@zlj ~]# init 6
在mail.163.com上创建两个帐号
,无登陆权
[root@mail ~]# useradd user1 -s /sbin/nologin
[root@mail ~]# useradd user2 -s /sbin/nologin
修改密码
[root@mail ~]# echo "123" |passwd --stdin user1
[root@mail ~]# echo "123" |passwd --stdin user2
在user1上配置outlook
点击工具中的帐号,选择新建一个邮件
这就配置完了
2、安装接受邮件服务器
需要安装
perl-DBI-1.52-2.el5.i386.rpm
#接受邮件服务器依赖的库
mysql-5.0.77-3.el5.i386.rpm
#接受邮件服务器依赖的库
dovecot-1.0.7-7.el5.i386.rpm
#接受邮件服务器
启动
[root@mail init.d]# service dovecot start
[root@mail init.d]# chkconfig dovecot on #设置开机启动
配置访问与中继策略
[root@mail mail]# vim access
Connect:192.168.2 RELAY
[root@mail mail]# vim local-host-names
mail.163.com
163.com
修改sendmail的配置文件
[root@mail mail]# vim /etc/mail/sendmail.mc
重启服务
[root@mail mail]# service sendmail restart
3、搭建dns服务器
将bind-9.3.6-4.P1.el5.i386.rpm、
bind-chroot-9.3.6-4.P1.el5.i386.rpm、
caching-nameserver-9.3.6-4.P1.el5.i386.rpm 装上
[root@mail Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
创建dns配置文件
[root@mail Server]# cd /var/named/chroot/etc/
[root@mail etc]# cp -p named.caching-nameserver.conf named.conf
由于存在两个网段,所以创建子区域
[root@mail etc]# vim named.conf
编辑配置文件
[root@mail etc]# vim named.rfc1912.zones
zone "163.com" IN {
type master;
file "163.com.zone";
allow-update { none; };
};
给区域添加信息
[root@mail named]# cp -p localhost.zone 163.com.zone
[root@mail named]# vim 163.com.zone
$TTL 86400
@ IN SOA ns.163.com. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns.163.com.
NS IN A 192.168.1.100
mail IN A 192.168.1.100
smtp IN CNAME mail
pop3 IN CNAME mail
smtp IN CNAME mail
@ IN MX 10 mail
给子区域添加信息
[root@mail named]# cp -p 163.com.zone 163.com.db
[root@mail named]# vim 163.com.db
$TTL 86400
@ IN SOA ns.163.com. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns.163.com.
NS IN A 192.168.2.100
mail IN A 192.168.2.100
smtp IN CNAME mail
pop3 IN CNAME mail
smtp IN CNAME mail
@ IN MX 10 mail
邮件服务器会做反向dns解析,为了加快它的速度,我们做反向dns
在发送邮件的时候肯定会出现反向dns,所以,创建方向dns
[root@mail named]# vim /var/named/chroot/etc/named.rfc1912.zones
zone "2.168.192.in-addr.arpa" IN {
type master;
file "192.168.2.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
};
为区域添加信息
[root@mail named]# cp -p named.local 192.168.1.zone
[root@mail named]# vim 192.168.1.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
100 IN PTR mail.163.com.
200 IN PTR mail.sina.com.
~
[root@mail named]# cp -p 192.168.1.zone 192.168.2.zone
[root@mail named]# vim 192.168.2.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
100 IN PTR mail.163.com.
~
启动
[root@mail named]# service named start
[root@mail named]# chkconfig named on #设为开机启动
四、安装
postfix
postfix-2.3.3-2.1.el5_2.i386.rpm
#postfix主程序
系统默认安装了
sendmail
将
sendmail停掉,将postfix启动
[root@zlj Server]# service sendmail stop
#将其停下
[root@zlj Server]# chkconfig sendmail off
#将其开机自动启动关闭
[root@zlj Server]# service postfix start
#将postfix启动
[root@zlj Server]# chkconfig postfix on
#将postfix加入开机自动启用
配置
postmail的主程序
[root@mail Server]# vim /etc/postfix/main.cf
70 myhostname = mail.163.com
#指出我们的postfix的主机名
77 mydomain = 163.com
#指出主机所在的域
93 myorigin = $mydomain
#指明以谁的身份发送
inet_interfaces = all
#指明我们监听的端口
156 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#指明我们发送的目的地
[root@mail Server]# service postfix restart
#重启
用同样的方法搭建
sina.com那边的服务器
测试:
163.
com 域中的user1给sina.com域中的user4写信
发送成功
我们看看日志
在
user4上查看
能够收到
身份认证
[root@mail Server]# vim /etc/postfix/main.cf
broken_sasl_auth_clients = yes
#开启认证
smtpd_sasl_auth_enable = yes
#开启认证
smtpd_sasl_security_options = noanonymous
#不允许匿名
#smtpd_sasl_application_name = smtpd
smtpd_client_restrictions = permit_sasl_authenticated,reject
#允许通过认证的,拒绝其他
#smtpd_client_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions
=
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
#允许本网络并且通过认证的,对目的地不限制
重启postfix和saslauthed
测试:
当不配置时,
发送
提示要求身份认证,配置
选择菜单栏中的工具中的帐号
双击帐号
选择服务器选项
发信
发送成功
看看能否收到
能够收到
五、搭建
web页面
Squirrelmail能够为postmail提供web页面
我们将其安装
首先,配置yum
[root@mail Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server]
name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@mail Server]# yum install squirrelmail-1.4.8-5.el5_3.7.noarch
#将其安装
安装成功,我们要让
squirrelmail
能够被访问,
创建软连接
[root@mail Server]# ln -s /usr/share/squirrelmail/ /var/www/html/mail
它给我们一个配置工具,我们用它来给我们的
squirrelmail
配置
选择
2进行服务器设置
选择
1,设置我们的域名
选择
2设置我们的使用的发送服务器
选择
R,返回上一级
选择
10,配置我们的语言
设置我们的语言为简体中文
选择
2,设置我们编码方式为GB2312
选择R,返回上一级
选择
S,保存
选择
Q,推出
[root@mail Server]# service httpd start
#启动apache
六、测试
登陆
它提示我们
Transaction failed
Server replied: 554 5.7.1: Client host rejected: Access denied
说明认证出错了,我们将认证关了。
Server replied: 554 5.7.1
说明认证出错了,我们将认证关了。
[root@mail Server]# vim /etc/postfix/main.cf
#smtpd_client_restrictions = permit_sasl_authenticated,reject
#将它关了
[root@mail Server]# service postfix restart
#重启
再次发送就能成功
查收