免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3220 | 回复: 9
打印 上一主题 下一主题

sendmail中,在MTA本机上向另一MTA发信,咋没受RELAY限制?禁掉access中所有行也没用. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-09 18:03 |只看该作者 |倒序浏览
sendmail中,在MTA本机上向另一MTA发信,受不受RELAY限制?

试验后证实若使用MUA来通过MTA向另一MTA发现,是受RELAY限制的,但在MTA的本机上直接向另一MTA发信,却未受RELAY限制,哪怕将access中所有行全部禁止掉也没作用,这是哪里有问题呢?

我的sendmail.mc中配置了DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA'),应该和这行没有关系吧.实在找不出其他地方哪里有问题了.

其他收发一切正常,仅此一点觉得应该不对,从MTA上直接发,也应该受RELAY限制,否则写在access中的127及local行岂不是没用了?

谢谢!!!

[ 本帖最后由 rekcah0 于 2007-7-9 19:02 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-13 12:45 |只看该作者
顶, 请指点,谢谢谢谢

论坛徽章:
0
3 [报告]
发表于 2007-07-13 14:04 |只看该作者
原帖由 rekcah0 于 2007-7-13 12:45 发表
顶, 请指点,谢谢谢谢


本機發信, 一般是呼叫 /usr/sbin/sendmail 程式直接寄信, 一般都是讀取 submit.cf 檔案,該 submit.cf 沒有使用 access 這個 FEATURE,所以不參考 access 檔案配置。

--

论坛徽章:
0
4 [报告]
发表于 2007-07-15 02:22 |只看该作者
谢谢版主指点,

那么本地发信,是不受access文件的限制了,那么access文件中原有的127及local两行都定义允许relay,这两行岂不就是没有意义了吗?

谢谢谢谢!!!

论坛徽章:
0
5 [报告]
发表于 2007-07-15 13:06 |只看该作者
原帖由 rekcah0 于 2007-7-15 02:22 发表
谢谢版主指点,

那么本地发信,是不受access文件的限制了,那么access文件中原有的127及local两行都定义允许relay,这两行岂不就是没有意义了吗?

谢谢谢谢!!!


若程式是由本機發起連線到自己主機的 port 25 進行 smtp 連線, 那當然透過 daemon 的 smtp 溝通, 那 daemon 本身當然是使用 sendmail.cf, access 配置當然有效.

--

论坛徽章:
0
6 [报告]
发表于 2007-07-16 10:06 |只看该作者
谢谢老大的再三指点...真是不胜感激啊....

那我telnet 到一个MTA上去,这个MTA上运行着sendmail服务,然后我在MTA上的终端内用mail命令向另一个MTA发信,这种情况下, 到底参不参考access文件呢?

论坛徽章:
0
7 [报告]
发表于 2007-07-16 13:54 |只看该作者
原帖由 rekcah0 于 2007-7-16 10:06 发表
谢谢老大的再三指点...真是不胜感激啊....

那我telnet 到一个MTA上去,这个MTA上运行着sendmail服务,然后我在MTA上的终端内用mail命令向另一个MTA发信,这种情况下, 到底参不参考access文件呢?


看不懂你的問題。

本機使用 mail 發信都是呼叫 /usr/sbin/sendmail 程式,所以那不是走 smtp 溝通,所以不參考 access

--

论坛徽章:
0
8 [报告]
发表于 2007-07-19 19:06 |只看该作者
我是自己在局域网内部建立了DNS服务,并且再建立了两个MTA跑sendmail服务,所有方面都是正常的.

现在我在两个MTA间发送邮件进行功能测试, 如果我在第三台机器(模拟客户端)上,通过MUA连接MTA1, 向MTA2发信,那么我的信能否被MTA1转交RELAY给MTA2, 是受到MTA1上面的access文件限制的.

但我如果telnet到MTA1上面直接用mail命令向MTA2发信,我发现此时信能否被MTA1转交RELAY给MTA2,不是受MTA1(本机)的access文件限制的,无论access如何修改.

这是正常的吗?应该不正常,因为MTA1上的access文件中有127和local的定义, 既然有这两行,就表示access文件对本机的RELAY动作也是起作用的呀.否则,127和local两行写在access文件中有什么作用呢?

谢谢老大的耐心指导!!!

论坛徽章:
0
9 [报告]
发表于 2007-07-20 09:16 |只看该作者
所謂 relay 是說某個 ip 連線端連到 mail server 要寄信, 收件者不是該 mail server 上面的使用者, 而該 mail server 會把信件收下來後然後投地給遠端主機.

你在 mail server 本身直接使用 mail 指令寄信, mail 是直接呼叫 mail server 本身的 /usr/sbin/sendmail 透過 stdin/stdout 方式溝通寄信, 這過程不是 smtp 溝通, sendmail 一般是讀取 submit.cf 檔案, 該 submit.cf 沒有引入使用 access 功能定義, 所以沒有參考 access 的參考問題. 再者, 這個溝通過程對於 sendmail 根本不是 relay 的流程, 所以就算參考了 access 內容, 也不需要經過 127.0.0.1 RELAY 這類敘述才可以運作.

若是你在本機跑一個程式, 該程式是直接連到 mail server ip 的 port 25 來 smtp 溝通寄信的話, 那就是與常駐的 sendmail 溝通, 該 sendmail 程式本身就是使用 sendmail.cf 檔案, 該 sendmail.cf 有引入 access 功能定義, 所以會參考 access 檔案內容, 所以得開 127.0.0.1 要可以 RELAY 才能夠允許再透過該 mail server 寄信給其他主機使用者.

所以請區分清楚, 於本機直接呼叫 /usr/sbin/sendmail userid@hostname 寄信出去, 與連線到本機 port 25 與 mta 進行 smtp 溝通的差異, 前者無 relay 的動作, 但是後者有.

论坛徽章:
0
10 [报告]
发表于 2007-07-20 16:48 |只看该作者
您说的我基本上明白了,原来在MTA本地发信,也分为直接呼叫sendmail发信和连接本地25端口发信两种方式,而这两种方式的流程基本上是不同的,我再按您的指导好好测试测试.

多次麻烦前辈关照,惭愧不已,对老大花费宝贵的无私帮助,感激不尽.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP