孙保元的博客 http://bysun.org/blog

RHEL4下配置sendmail邮件服务器

实验室申请了新的国际域名,各项服务也逐渐要转到新的服务器上。这两天抽空学习了一下Linux下邮件服务器配置的方法,成功的将sendmail邮件服务系统搭建了起来,同时用dovecot配置pop3和imap实现了客户端邮件收取功能,webmail也利用squirrelmail建立。简要配置步骤如下:

一、配置sendmail

1. 首先保证域名解析添加好了mx记录,指向服务器

2. 修改档案/etc/mail/sendmail.mc,这是sendmail的配置辅助文件,默认情况下已经配置好了许多,初步运行只需做少量的改变,修改或添加下面几行:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl # relay信任的认证方式
define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl # 确定系统的认证方式
DAEMON_OPTIONS(`Port=smtp,Addr=123.123.123.123, Name=MTA’)dnl # 这里改成服务器的IP地址
Cwlocalhost yourdomain.com

3. 重新生成sendmail配置文件
# m4 sendmail.mc > sendmail.cf
  
4. 启动sendmail
# /etc/rc.d/init.d/sendmail start

5. 修改档案/etc/mail/local-host-names,添加收发邮件的主机名称
# vi /etc/mail/local-host-names
mail.yourdomain.com
abc.com # 添加一别名,为了收取user@abc.com格式的信件

6. 修改档案/etc/mail/access,设定邮件服务器使用权限
# vi /etc/mail/access
localhost.localdomain   RELAY
localhost               RELAY
127.0.0.1               RELAY
yourdomain.com          RELAY
123.123                 RELAY # 允许整个B网,同理可设置C网和单个IP

7. 修改档案/etc/aliases,设定使用者别名

7.1 群发功能的实现
# vi /etc/aliases //在里面加入下面行
id: id1, id2, id3……
这样发给id@yourdomain.com的邮件就会复制成三份,分别发给id1@yourdomain.com, id2@yourdomain.com, id3@yourdomain.com
修改后需要运行如下命令更新
#newaliases
群发功能实现的另一种方法是修改用户根目录下的.forward类似进行添加

7.2 别名设定
# vi /etc/aliases
id1: id2
这样发给id1@yourdomain.com的邮件就会转发给id2@yourdomain.com

8. 这样sendmail服务器就建立好了,可以在localhost用mutt命令进行收发邮件,也可以在客户端使用Foxmail等通过smtp协议发送邮件,但是还不能pop3收取邮件。这里,我们还要用Dovecot来实现对pop3及imap等协议支持的邮件接收服务器的搭建。

二、配置Dovecot

1. 修改档案/etc/dovecot.conf
# vi /etc/dovecot.conf
protocols = imap imaps pop3 pop3s # 配置协议
default_mail_env = mbox:~/mail/:INBOX=/var/mail/%u # 定义用户邮件目录

2. 添加防火墙规则
由于pop3协议与imap协议要分别用到110号和143号端口,所以在启动服务前,配置防火墙,开通这两个端口
# vi /etc/sysconfig/iptables # 编辑防火墙规则
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT # 找到此行,接着添加如下两行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 110 -j ACCEPT # 允许pop3使用的110号端口
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 143 -j ACCEPT # 允许imap使用的143号端口
# /etc/rc.d/init.d/iptables restart # 重新启动防火墙,使新的设置生效

3. 启动Dovecot服务
# /etc/rc.d/init.d/dovecot start

4. 可以检查一下各项服务已经运行
# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address     State
tcp    0   0 *:pop3         *:*           LISTEN
tcp    0   0 *:imap         *:*           LISTEN
tcp    0   0 *:smtp         *:*           LISTEN

5. 这样就可以通过Foxmail等客户端软件使用pop3收取邮件了。

三、配置squirrelmail
#/usr/share/squirrelmail/config/conf.pl
1. Organization Preferences –> 5. Signout Page: 设为空格
1. Organization Preferences –> 6. Default Language: zh_CN 中文支持
2. Server Settings –> 1. Domain: yourdomain.com
2. Server Settings –> 3. Sendmail or SMTP: Sendmail
4. General Options –> 1. Default Charset: gb2312 中文支持
保存后通过网页登录即可测试。不过我现在遇到一点问题,网页登录后可以收取邮件,发送邮件显示成功,但对方却并没有收到,不知谁有这方面的解决经验。还得再想想办法。

相关文章·Related Post


Reader Comments

发表评论

邮箱地址不会被公开。 必填项已用*标注