我想知道如何查询Spamhaus的IP地址(Spamhaus zen http://www.spamhaus.org/zen/)以及传入电子邮件中找到的域(DBL http://www.spamhaus.org/dbl/),以确定给定邮件是否为垃圾邮件。
答案 0 :(得分:1)
您可以通过host
或dig
与DBL连接,因为它作为DNS服务运行。常见问题解答的此页面显示了示例查询:http://www.spamhaus.org/faq/section/Spamhaus%20DBL#277
$ host example.com.dbl.spamhaus.org
Host example.com.dbl.spamhaus.org not found: 3(NXDOMAIN)
$ host dbltest.com.dbl.spamhaus.org
dbltest.com.dbl.spamhaus.org has address 127.0.1.2
IP地址查找类似地完成,IP地址中的数字以相反的顺序(1.2.3.4
变为4.3.2.1.zen.spamhaus.org
)。这在DNSBL的常见问题解答(http://www.spamhaus.org/faq/section/DNSBL%20Usage#252)的底部有记录。
$ host 130.119.180.199.zen.spamhaus.org 130.119.180.199.zen.spamhaus.org has address 127.0.0.2 130.119.180.199.zen.spamhaus.org has address 127.0.0.11
列出的域名或地址会产生127.0.0。*表格的结果,而干净的域名/地址会返回“未找到”状态。
答案 1 :(得分:1)
This C++ code works safe and fast:
char *server = "some.spammer.org"; // or Ip address
BYTE ResType = 0;
HOSTENT *pHost = gethostbyname(server);
if (pHost)
{
char query[80];
BYTE *ip = (BYTE *)pHost->h_addr;
sprintf(query, "%u.%u.%u.%u.zen.spamhaus.org", ip[3], ip[2], ip[1], p[0]);
pHost = gethostbyname(query);
if (pHost)
{
ResType = pHost->h_addr[3];
}
}