这里是普通文章模块栏目内容页
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实在是太复杂了,我无法写的一点不漏,还请原谅。如有问题可以和我联系,我会尽力帮您解决的。