服务器 频道

配置你的第一台e-mail服务器

    如你所看到的,SendMail的监听端口现在是eth0的ip地址:192.168.100.134了.  

    现在SendMail已经可以接收来自外部的连接了.我们还需要设定SendMail允许接收的域名.这个可以在/etc/mail/local-host-names文件中设定.就把域名输入进去就可以了:

    # local-host-names - include all aliases for your machine here. blank.com 保存退出后重新启动SendMail服务:/etc/init.d/SendMail restart .这样SendMail就可以接收来自多个域的信件了. 如果你需要再增加新的域,只有修改这个文件就可以了.

    现在的e-mail服务器在本机上已经可以完全正常的工作.它已经可以接收来自任何地方的信件(允许的域),但如果想要发送和传递邮件,则必须在这台电脑上执行.如果你的用户都直接登录到你的服务器上来发送邮件,则不需要更改任何配置,如果你希望大部分或者所有的用户可以在远程主机上使用该e-mail服务器,例如利用KMail和Outlook Express等客户端工具,则你必须更改配置来允许这些主机使用你的e-mail服务器.你需要在/etc/mail/access文件中加入下面一行,保存后运行make access.db 的命令来生成access.db文件.

    blank.com RELAY

    改完后的access文件应该是这样的:

    # Check the /usr/share/doc/SendMail-8.11.2/README.cf file for a

    description

    # of the format of this file. (search for access_db in that file)

    # The /usr/share/doc/SendMail-8.11.2/README.cf is part of the

    SendMail-doc

    # package.

    #

    # by default we allow relaying from localhost...

    localhost.localdomain RELAY

    localhost RELAY

    127.0.0.1 RELAY

    blank.com RELAY

    然后运行:

    [root@testmail mail]# make access.db

    [root@testmail mail]#

    这个make access.db命令把你的新的设定添加到SendMail的hash数据库里.SendMail用它来判断允许那些主机通过你的e-mail服务器来传递邮件.而且这样还可以通过设定子网(例如:192.168)来限制该域.但你要注意,这样设定就对外开放了,可能会有人发大量的垃圾信件来攻击你的系统.

    现在你可以收到所有来自外部的邮件.并且允许信赖的客户在远程传递信件.接下去你想要做的可能是如何在远程收取这些信件.要达到这个目的,你需要安装 IMAP 或者 POP. redhat 7.1 默认安装的时候并没有安装POP/IMAP,所以你需要安装imap-2000-9 rpm包.要查看这个包的安装状态,可以用下面的命令:rpm -aq | grep -i imap.如果发现没有安装,那就把redhat 7.1第二张安装光盘放到光驱里.然后运行如下命令:

    [root@testmail mail]# mount /dev/cdrom /mnt/cdrom

    mount: block device /dev/cdrom is write-protected, mounting read-only

    (Successful Mount of Read-Only Media)

    mount上光盘后运行这个命令来安装这个包:rpm -Uvh /mnt/cdrom/RedHat/RPMS/imap-2000-9.i386.rpm.

    [root@testmail mail]# rpm -Uvh /mnt/cdrom/RedHat/RPMS/imap-2000-9.i386.rpm

    Preparing... ########################################### [100%]

    1:imap ########################################### [100%]

    再运行一次 rpm -aq | grep -i imap

    IMAP 包就罗列出来了。

    [root@testmail mail]# rpm -aq | grep -i imap

    imap-2000-9

    [root@testmail mail]#

    当正确的包被安装后你要打开POP3的连接端口,这需要修改/etc/xinetd.d/下面的ipop3文件,把disable的值改成no。这个文件大致是这样的:

    # default: off

    # description: The POP3 service allows remote users to access their mail

    # using an POP3 client such as Netscape Communicator, mutt,

    # or fetchmail.

    service pop3

    {

    socket_type = stream

    wait = no

    user = root

    server = /usr/sbin/ipop3d

    log_on_success += USERID

    log_on_failure += USERID

    disable = no

    }

    接下去重新启动xinetd来是它生效:

    [root@testmail xinetd.d]# /etc/init.d/xinetd restart

    Stopping xinetd: [ OK ]

    Starting xinetd: [ OK ]

    [root@testmail xinetd.d]#

    现在就可以发送一封测试邮件到你的e-mail服务器,并且用你熟悉的收信工具来收取这封信。应该是没有问题的。

    下面优化一下服务器的性能。或许你会收到这样的抱怨,说是当客户端程序运行在防火墙后面的话会发生连接pop端口速度变慢。

    造成这个延时的原因是你的e-mail服务器初始一个IDENT会话来确认客户端的身份。如果这个询问没有反应,那服务器就会在5秒后发出一个超时信号。这个值可以降低到1秒,从而减少IDENT产生影响。修改/etc/SendMail.cf文件,把timeout的值改成你想要的值。

    # timeouts (many of these)

    #O Timeout.ident=5s

    change to

    O Timeout.ident=1s

    现在你的e-mail服务器可以给你的用户提供服务了。当然还有更多的配置可以用来提高服务器性能,在这篇文章中就不多提了。Linux将会为你的e -mail服务提供一个稳定的,高效的平台。如果想了解更多的关于SendMail的知识,请访问www.SendMail.org.

0
相关文章