sendmail邮件收受流程:
为了让您能够更清楚的知道『我要如何控制我的 Mail Server 』,我们底下将会以 Sendmail 收受一封信件的流程,来介绍信件的传送方向,好让您更清楚的了解到你的 Mail Server 在干啥好事喔!一般而言,当你的 Sendmail 收到一封信件时,他是怎样判断这封信件要怎样传送的呢?我们先谈一谈如果 Sendmail 收到一封『非本机端送出的来信』时,他是怎样处理这封信件的?
1. 当 MTA 收到一封邮件,并且该邮件的『信件收件者』为 MTA 本身的用户账号时,此时将会以本机端 ( local ) 的收件规则来进行收件,如果 /etc/mail/access.db 没有针对来源 IP 或者 host 或者 e-mail 抵挡时,则该封信会被我们的 MTA 收下来,并且储存到 /var/spool/mail 里面。例如,当我的 tsai.adsldns.org 收到一封给 vbird@tsai.adsldns.org 的邮件,并且 /etc/mail/access.db 没有针对来源抵挡 ( 在不考虑 procmail 的情况下 ) ,那么我的 tsai.adsldns.org 这部主机,会立刻将该封邮件存放到 /var/spool/mail/vbird 里面去,而不必经由『认证』或者抵挡的机制。请注意,在这个情况中, Sendmail 并不会去检查送件者是否来自于信任网域喔 ( 只要 /etc/mail/access 没有挡到的主机或IP或其它的 e-mail 信息 )!
2. 如果这封邮件的『信件收件者』并没有 MTA 本身的用户账号时,那么 MTA 会以 SMTP 这个外送规则来传信,此时 MTA 会开始去检查 /etc/mail/access.db 这个数据库里面,任何有关于送件者的 IP、E-mail 以及相关的动作等,如果该封邮件有相关的数据在 /etc/mail/access.db 里面时 ( 不论是 RELAY, REJECT 或是 DISCARD ) 那么该封邮件就会依照 /etc/mail/access.db 里面指定的行为进行邮件的动作(可能是 RELAY 或 DISCARD 等等)!
3. 如果该封邮件经过上面两道手续后,仍然找不到任何有关的动作讯息,那么这封邮件将会退回给原发信者!
上面的信件收受行为是在没有 SMTP 邮件认证以及 procmail 这个 MDA 管理的时候所具备的动作!如果加入 SMTP 或者 procmail 之后,会变成怎样呢?呵呵!先不告诉你,待会继续往下看再说吧!
【编辑推荐】
- sendmail邮件服务权限的设定
- Sendmail server 的启动
- Sendmail的邮件目录
- Sendmail Server 的档案
- Sendmail邮件收受流程(二)
- Sendmail配置笔记之文件区
- Sendmail配置笔记之配置篇
- Sendmail配置笔记之安装篇
【责任编辑:高圆圆 TEL:(010)68476606】