这篇文章是对上篇的补充,因为自从写完上篇之后又对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实在是太复杂了,我无法写的一点不漏,还请原谅。如有问题可以和我联系,我会尽力帮您解决的。