红联Linux门户
Linux帮助

Linux下Sendmail邮件服务器配置全攻略

发布时间:2006-07-24 14:32:26来源:红联作者:bear10214
 Linux下Sendmail邮件服务器配置全攻略             
  这篇文章是对上篇的补充,因为自从写完上篇之后又对LINUX下的邮件服务进行研究,发现有许多许的遗漏和新的发现,这篇将是一个完整的总结。

一、首先,要想让LINUX可以收发邮件就要把DNS弄好,这是非常关键的,如果没有DNS做基础LINUX是不可能正常收发邮件的。我的服务DNS配置如下:

服务器的IP为:a.b.c.d

假设我的域名为:domain.com

机器名为:my

正向解析文件名:db.domain.com

内容:

@  IN  SOA  ns.mydomain.com. root.ns.mydomain.com. (

         2001061405 ;serial

         3600 ;refresh

         900 ;retry

         1209600 ;expire

         43200 ;default_ttl )

@  IN  MX  5  ns

@  IN  NS  ns

@  IN  a.b.c.d

mail    IN    A     a.b.c.d

my     IN    A     a.b.c.d

localhost IN    A     127.0.0.1

test    IN    A     a.b.c.d

mail    IN    CNAME   my.mydomain.com.

反向解析文件名:db.A.B.C

@    IN    SOA    my.mydomain.com. root.ns.mydomain.com. (

          2001061405 ;serial

          3600 ;refresh

          900 ;retry

          1209600 ;expire

          43200 ;default_ttl )

@    IN    NS    my

38    IN    PTR    my.mydomain.com.

这两个解析文件设置好后,剩下的文件如/etc/named.conf,/etc/named.boot相信你已经会设置了。下面就开始邮件服务器的配置。

可能用到的文件:/etc/sendmail.mc,/etc/sendmail.cf,及目录/etc/mail下的文件。

首先检查sendmail和POP3是否已启动,命令如下:

  ps -auwx | grep sendmail ,如果sendmail启动了,就会有一些信息,

  netstat -a | grep pop ,如果POP3端口打开了,就有下面的提示信息:

   tcp 0 0 *: pop3 *:* LISTEN ,否则没有提示.

如果你在安装 LINUX的时候 选择的是完全安装的话那么就不用生成sendmail.cf这个文件了。Linux6.2自带的sendmail是8.9.3的版本的,这个版 是安全的且比较好用。

1、修改sendmail.cf

在 Cwlocalhost 这一行后面加上你想做为收邮件的那个服务器的名字。例如:

Cwlocalhost mail.mydomain.com

如果你在DNS中已经设置好了邮件服务器那么这里也可以不用改。

Fw/etc/sendmail.cw 这一和表示让sendmail去哪里找sendmail.cw这个文件,这个文件很重要.

还有一行你可能也需要改一下:

R$*     $#error  $@ 5.7.1 $:"550 Relaying denied" 改成

R$-     $@ OK

注意:中间的分隔要用"Tab"键.

2、修改sendmail.cw文件,设置这个邮件服务器用于发送邮件的主机的名字,可以用你的域名,或主机名。

# sendmail.cw - include all aliases for your machine here.

mydomain.com

mail.mydomain.com

ns.mydomain.com

3、access文件

localhost.localdomain    RELAY

localhost          RELAY

127.0.0.1          RELAY

192.168.0          RELAY

a.b.c.d           RELAY

mydomain.com         RELAY

然后执行以下命令:

makemap hash access.db < access

这个文件是允许这个域中的其它机器通过它发送邮件。

  现在就完成了。重起sendmail可以进行测试了。在这个linux中添加一个用户就会有一个电子邮件地址,不用特别的去设置。

  这篇文章不全面,有许多遗漏的地方,可能你会遇到很多问题,但是由于sendmail实在是太复杂了,我无法写的一点不漏,还请原谅。如有问题可以和我联系,我会尽力帮您解决的。         
文章评论

共有 3 条评论

  1. chenmo2010 于 2006-08-06 02:17:32发表:

    大哥。太多,看不明白,不好意思/。我回家再好好学学。/ETC配置文件太多

  2. shyboy8688 于 2006-08-05 22:38:27发表:

    恩谢了!

  3. aya2443 于 2006-07-26 17:24:54发表:

    ddddddddddd