构建sendmail邮件服务器
一.实验环境
1.系统安装
邮件服务器安装red hat 5(企业版)
客户端PC1windows 2003
客户端PC2windows 7
2.基本网络配置
邮件服务器IP地址172.16.100.150,主机名
客户端PC1:IP地址172.16.100.122,DNS服务器: 172.16.100.150
PC2:IP地址172.16.100.130DNS服务器:172.16.100.150
3.邮件域
126.com
二.实验目的
保证客户端能够通过邮件域126.com正常收发邮件
三.实验思路
      1.配置DNS
      2.配置sendmail
           3.启用SMTP用户认证功能
      4.配置dovecot
      5.配置webmail邮件页面
      6.客户端收发邮件测试
三.实验步骤
1.对邮件域126.comDNS记录
1.1修改全局配置文件(确保下面四项的{}内都为any)
vi /etc/named/chroot/etc/named.caching-nameserver.conf

listen-on port 53 { any; };
allow-query     { any; };
match-clients      { any; };
match-destinations { any; };

1.2修改区域配置文件,添加我们需要的邮件域区域
vi   /etc/named/chroot/etc/ named.rfc1912.zones

zone "126.com" {
        type master;
        file "126.com";
};
 
zone "100.16.172.in-addr.arpa" {   
        type master;
        file "172.16.100.fx";
};

1.3创建区域数据库文件(可以从模板named.local拷贝一个然后进行适当修改)
vi /etc/named/chroot/var/named/126.com添加以下两条记录

mail   IN      A       172.16.100.150
126.com.        IN      MX      10      mail

vi /etc/named/chroot/var/named/172.16.100.fx
添加以下两条记录

147     IN      PTR     126.com.

1.4更改权限

cd /var/named/chroot/var/named/
bind-chroot-admin -s

1.5重启named服务,并设置为开机自动启动。

service named restart
chkconfig –level 35 named on

1.6客户端测试DNS解析
2.配置sendmail服务器
2.1查看sendmail软件包是否安装,默认已经安装

[root@mail ~]# rpm -qa|grep sendmail
sendmail-8.13.8-2.el5
sendmail-cf-8.13.8-2.el5

2.2修改文件

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
//去掉上面两行前面的dnl,修改后为
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
//修改该行中的127.0.0.10.0.0.0
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

2.3执行如下命令(如果提示某某文件不存在或者其它问题,很有可能是sendmail-cf包默认未安装)

m4 /etc/mail/ > /etc/mail/

2.4添加需要的邮件域名
vi /etc/mail/ local-host-names
添加下面一行,每个邮件域一行

126.com

2.5重启sendmail服务

service sendmail restart
chkconfig –level 35 sendmail on

3.启用SMTP用户认证功能

service saslauthd restart

4.配置dovecot服务器
4.1安装dovecot软件包,默认存在依赖关系,可通过yum方式进行安装。
4.2修改/etc/dovecot.conf配置文件

#protocols = imap imaps pop3 pop3s
//将该行修改为如下即可
protocols = imap  pop3

4.3重启dovecot服务

service dovecot restart

5.设置webmail邮件页面
5.1安装squirrelmailhttpd软件包,安装存在依赖关系,使用YUM方式安装,可同时安装好这两个软件包
5.2.创建及调整数据目录、附加目录(如果没有特殊需求也可不做此步,以及第3步的最后两项也不用更改,使用默认值)

[root@mail ~]# cd /var/www/html/mail/
[root@mail mail]#mkdir attach data
[root@mail mail]#chown –R daemon.daemon attach data
[root@mail mail]#chmod 730 attach

5.3修改comfig.php配置文件

[root@mail ~]# ln -s /usr/share/squirrelmail/  /var/www/html/mail
[root@mail ~]# cd /var/www/html/mail/config/
[root@mail config]# vi config.php
$squirrelmail_default_language = 'zh_CN';
$default_charset          = 'zh_CN.UTF-8';
$domain                 = '126.com';
$smtpServerAddress      = 'localhost';
$smtpPort               = 25;
$imap_server_type        = 'dovecot';
$imapPort               = 143;
$data_dir                = '/var/www/html/mail/data/';
$p_w_upload_dir          = '/var/www/html/mail/attach/';

    确保以上各项均为×××部分内容
5.4启动httpd服务

service httpd restart                                       
chkconfig --level 35 httpd on

5.5访问http://172.16.100.150/webmail,查看web页面,如果对主机名所在域做了DNS,也可使用http:///webmail
进入邮箱管理界面,3个词含义如下:
Ø       Drafts:草稿箱
Ø       Sent:发件箱,所有发出的邮件都会有记录
Ø       Trash:垃圾箱
6.客户端收发邮件测试
6.1添加两个邮件用户lili,xixi进行邮件收发测试

adduser -s /sbin/nologin haha;passwd haha
adduser -s /sbin/nologin hehe;passwd hehe

6.2客户端PC1 PC2都使用邮件域126.com收发邮件
PC1使用windows自带的邮件客户端OE,使用邮件用户xixi
PC2使用office 2003套件中的Outlook 2003客户端(配置时,电子邮件账户服务器类型可以选择POP3或者IMAP),使用邮件用户lili
PC2liliPC2xixi发送
6.3使用webmail页面登陆进行验证
用户lilixixi发邮件——成功
用户xixilili发邮件——成功
 
实验分析和总结:
如果出现收发邮件不成功,可能是以下原因:
Ø       未在在/etc/mail/local-host-names文件中添加邮件域
Ø       查看端口25110143是否正常