当前位置:Linux教程 - Linux资讯 - 请问如何设置linux为邮件服务器?

请问如何设置linux为邮件服务器?

BBS水木清华站∶精华区发信人: scaner (P.o.t.S), 信区: Linux 标 题: Sendmail Enable RELAY mini Howto 发信站: BBS 水木清华站 (Fri Dec 11 23:12:59 1998)

本文主要是解决高版本的sendmail(8.8.7以上)不能转发油件的问题. 先简单提一下转发的概念.所谓转发,就是指通过这台Mail server 发送目的地是别的Mail server的油件.打个比方,有两台服务器 a.mail.org和b.mail.org,一封To: [email protected],可以先 发给A.mail.org,然后由A.mail.org发给B.mail.org.这个过程就是转发(relay). 使用一般的Mail Client实际上就是有一个转发过程,他不是 直接将信发往目的服务器,而是本地的Mail server,再通过 本地的Mail Server将信发送出去.随着网络安全等等问题 渐渐得到重视,转发功能也由缺省允许变成缺省禁止.

放开禁止的办法很多,首选是正确配制/etc/mail目录下的 几个文件.sendmail是通过类(Class)配合重写规则(rewrite rule) 来进行地址检查控制的,所以配制文件必须按照要求的格式来写. 一般的方法是将本地地址加入/etc/mail/ip_allow中, 格式如下: A. A.B. A.B.C. A.B.C.D 其他的子网表达方式都是非法的.

一个例子就是: 202.119.65. 202.119.66. 这样所有202.119.65.0-202.119.66.255的Mail client 都能通过我的Mail Server转发油件.

另一种方法是添加目的域名到relay_allow 中,比如将 mere.ml.org test.org 加如relay_allow中, 所有法往[email protected][email protected]都将 被允许转发.

如果你所希望的是一种开放式的服务,不进行任何检查, 那重新生成sendmail.cf将是很不错的选择.

就以redhat为例,先安装sendmail-cf这个rpm包, 到/usr/lib/sendmail-cf目录下仔细阅读一下 README和README.check, 然后到cf目录中,编辑redhat.mc,将所有关于地址检查 的选项都删除掉,然后用命令 m4 ../m4/cf.m4 redhat.mc > redhat.cf 如果一切正常,redhat.cf就是生成的sendmail.cf 复制到/etc/sendmail.cf后,重启动一次sendmail 就可以了.

最后说上两句:Sendmail的检查功能十分强大,如果有 必要甚至可以做地址检察数据库. 不过个人还是比较喜欢qmail,简单易用,配置方便,没有 头疼的rewrite rule,可惜家里最后还是选择了sendmail 就是因为sendmail的rewrite rule实在太cool了,想干 什么就干什么,比较合适个人定制使用. -- #telnet I.want.to.go telnet: Unable to connect to remote host: No Route to host

※ 修改:·scaner 於 Dec 11 23:16:57 修改本文·[FROM: 202.119.79.67] ※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.119.79.67]

BBS水木清华站∶精华区

(出处:http://www.sheup.com)