背景信息:需要帮助检查电子邮件是否属于同一个域名?
我需要制作一个系统,让用户通过用电子邮件地址/密码组合来标识自己来登录。所以我试图找到一种方法来检查登录是否与数据库中的某些内容相匹配,当两者可能是不同的输入地址时。
所以对于域名验证最初的步骤是:
- 转换输入的文本,以NFC
- 条评论用递归下降解析器
- 分裂本地部分从域。
通过这个运行域:
nslookup -type=mx $DOMAIN | awk '{ if($2 =="mail" && $3 == "exchanger") { print substr($6, 0, length($6)-1) } else if($2 == "internet" || $2 == "has") { print $1 } }' | sort | uniq'
这两个
me.com
和iCloud.com
回报:mx1.mail.icloud.com mx2.mail.icloud.com mx3.mail.icloud.com mx4.mail.icloud.com mx5.mail.icloud.com mx6.mail.icloud.com
而且
gmail.com
和googlemail.com
都返回:alt1.gmail-smtp-in.l.google.com alt2.gmail-smtp-in.l.google.com alt3.gmail-smtp-in.l.google.com alt4.gmail-smtp-in.l.google.com gmail-smtp-in.l.google.com
所以我想我会输入这个表格,以便所有的Gmail服务器都有ID 1,并且所有的iCloud服务器都有ID 2等,以任何顺序尝试注册他们。
这不如果所有服务器都位于一个varchar单元中,则可以工作,因为可以在稍后的日期添加或删除服务器。如果服务器都是自己的行,因为没有办法像操作单个逻辑单元一样操纵它们,所以它并不真正起作用。
如果我得到每个服务器名称的最长公共后缀将表明这些都使用一个邮件服务器?还是有可能实际上服务两个由子域分隔的服务器?
如果域名都将MX记录指向通用垃圾邮件过滤服务(如Postini),那么会发生什么? – TessellatingHeckler
MX服务器也不是静态的?并且不同的域可以共享相同的mx服务器(我们目前有400多个域都指向我们的邮件群集,并且不计算别名,例如(example.com/example.net/example.org)。所以我会警惕的试图将mx记录用于任何事情...... – Doon