Sendmail邮件收受流程:
关于广告信的收受
很多人常常会发现这样的一件事,就是:
『为什么有人利用我的 mail server 寄信给我?』
举个例子来说,假如我的一部 Mail server 主机名称为 mta.domain.name ,而他上面有个实体邮件用户为 user@mta.domain.name !这个 MTA 主机并没有对外开放 RELAY 的功能喔!但是有一天, user 这个人还是接到广告信了!更神奇的是,该封广告信的发信者为 someother@mta.domain.name !怪怪!明明我的 mta.domain.name 就是没有 someother 这个用户,怎么还可以用我的主机寄信给我自己呢?
好了,现在请仔细的参考一下上面的三个步骤,你会发现一件事情,就是『***个步骤中,如果发现该封信的收件者有本机的账号时,且 /etc/mail/access 没有抵挡到该封信时,则该封信件就会被接收下来!』对啦!就是因为如此,因此,对方可以用你的 mail server 寄信给你!不过,还好的是,这样的情况中,该封广告信只会在你的 Mail Server 内传送,并不会寄出去外部的!注:因为要寄到外部去,就需要 RELAY 的功能啦!
上面提到的是关于『来自 MTA 外部的信件』时的处理动作,那么如果这封邮件是来自于『主机内部』的行为呢?
例如:使用者以 SSH 登入后,使用 mail 这个指令来执行寄信的动作,又或者是直接在 MTA 这部主机上面的 X Window System 内的 Kmail 来发信呢?由于我们刚刚在设定 sendmail.mc 这个档案的时候,你会发现一句设定值:
MAILER(local)
或者是
Cwlocalhost.localdomain
这两个设定都代表『本机寄出的邮件可以不用经过 SMTP 的手续,将直接以 sendmail 的功能寄出』,这也就是说,无论如何,来自主机内部的信件都将被传送出去!这也是为什么有的时候明明你的 sendmail 没有正常的启动,但是在主机上面直接以 mail 这个指令却还是可以将邮件送出的原因啦!
例题:曾经有朋友发现一个有趣的现象,那就是他的 WWW 网站提供 CGI 的功能 ( 所谓的 CGI 指的是一些动态的网页内容,例如鸟哥的私房菜里面的留言版,这些功能很多是利用 perl 语言或者其它语言写成的程序喔!),他所提供的 CGI 程序的功能可以帮助使用者寄信,后来发现很多人便藉由这个 CGI 的网络功能,使用他的 WWW 主机发送大量的广告信,他就很生气的将他自己的 WWW 主机的 Sendmail 关闭,也就是将 smtp 的 port (25) 关掉,以为这样就可以将广告信杜绝啦!但是,广告信却还是一直的发送!并没有停下来!您知道为什么吗?!
答:原因应该很简单吧!
因为 WWW 在 Linux 本机上面跑,而管理员提供的的 CGI 是在 WWW 上面跑,也就是说,这个 CGI 本来就是利用 Linux 的 Sendmail 在传送邮件的,那既然 sendmail 本来就可以不需要透过 smtp 的 port 来传送邮件,自然你的广告信就还是可以自由的发送出去啰!
【编辑推荐】
- sendmail邮件服务权限的设定
- Sendmail server 的启动
- Sendmail的邮件目录
- Sendmail邮件收受流程(一)
- Sendmail配置笔记之启动服务器
- Sendmail配置笔记之文件区
- Sendmail配置笔记之配置篇
- Sendmail配置笔记之安装篇