|
大家好,目前公司要开发一款邮件网关系统,以前从没接触过这方面的开发,经过1个礼拜的研究,基本了解了smtp,pop等邮件的收发协议,只是还没搞明白网关到底处于何种角色,比如外网的邮件服务器A,邮件网关服务器B,我们的邮件服务器C,如果要让网关有用,首先是不是把DNS上的MX记录中的域名对应的IP地址改成B的IP地址,然后通过A要传送到C域名下的邮件全都定向到B对吗?那么这个时候B做什么呢,比如A发送一个SMTP命令HELO XX,因为MX记录的IP指向的是B(网关),那么B通过socket接受到了这个命令通过判断是SMTP的命令,并判断是不是垃圾,如果不是垃圾,把这个命令字符串通过socket再与C通讯,然后C接到这个通讯命令后,再回复给B,B接到C的回复后,再将C的回复传送给A吗?然后后面的所有A的命令都是,到B,再从B到C对吗?也就是说B就是做了个命令和回复的二传手?这个是接收的过程,如果是发送呢,C中的用户发送邮件到A,那么C发送SMTP给网关?接收的话因为MX定向到B所以外面发送的邮件肯定是到B的,但是发送呢,怎么让C经过B?B是怎么处理的呢?比如C要发送邮件给A?C通过MX获得A的IP,然后建立和A的连接,这个过程怎么让B插一脚呢,比如需要判断是否是机密文件,这个时候B怎么处理,因为,不可能让C去socketB,然后继续B将socket到A?
写的有点乱,希望有经验的兄弟们给点解惑指导 |
|