【发布时间】:2015-08-08 04:08:45
【问题描述】:
我正在尝试以编程方式测试域上是否托管了一个捕获所有电子邮件地址。我想知道一个特定的域 - 即。 facebook.com - 将收到一封发送至 blahblah@facebook.com 的电子邮件。
我目前正在使用节点 DNS 来查看域是否首先具有 Mx 记录,然后我向电子邮件发送 ping,不幸的是这非常慢,我想知道是否有更快的检测方法。
validateDomain: function(domain, array, i, callback) {
var testEmail = '1qaz2wsx3edc4rfv5tgb@' + domain;
checkEmail(testEmail, function(validation, addresses, err) {
if (validation) {
callback( err, false, array, i);
} else {
array.push(domain);
callback( null, true, array, i);
}
});
}
这就是我目前设置使用非常不可能的电子邮件来验证包罗万象的方式。 checkEmail 函数使用 Mx 记录查看域是否有电子邮件并发送 ping。这是我想替换来检测全部捕获的函数。
谢谢,
【问题讨论】:
-
请注意,某些设置可能包含前端网关,即使实际的邮件服务器无法识别任何地址的消息(即没有在消息网关上配置地址验证),它们也会接受任何地址的消息。综上,存在无法验证catch-all地址存在的情况。
-
对不起,我是个吹毛求疵的人,但是您在“使用非常不可能的电子邮件”中错误地使用了“电子邮件”。你的意思是一个电子邮件地址。 email 是实际的文本。不幸的是,很多人都错误地缩写了这个:-(
标签: node.js email dns sendmail telnet