这是06年写的,不知道现在RBL改了没,不过恢复过来做记录,以后可能需要。
  实时黑名单(RBL)实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的A记录是否存在来判断其是否被列入了该实时黑名单中。基于这条原理,那么要写客户端就比较容易了。

使用JNDI查询

DirContext ictx = new InitialDirContext();
Attributes a = ictx.getAttributes("dns://cblplus.anti-spam.org.cn/80.241.134.80.cblplus.anti-spam.org.cn",  new String[] { "A" });
返回内容如下:
A: 127.0.8.6
说明IP80.134.241.80在CBL+服务器中(这个IP是我在里面找来的,应该返回如上内容)
其中DNS的URL表示格式如下:
dns://dnsserver:port/domain
  当port未指定时,将使用默认的端口(53,一般来说,DNS Server都是使用此端口,所以一般都不用指定)而dnserver不指定时,将使用运行此程序的操作系统的设置来定,由于要使用中国反垃圾邮件联盟的CBL+服务(其它几项服务如CBL、CDL、CBL-都是类似的,只是返回值不一样,见附表),所以一定要将CBL+的服务器设置为DNS Server进行查询。

关于JNDI/DNS部份说明,请参考:http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-dns.html

使用DatagramPacket进行信息查询
  建立DatagramSocket连接后,向CBL+服务器发送DatagramPacket数据报,然后解析返回的数据就可以得到正确的结果,我以前就是使用这种方法(因为以前不知道可以通过JNDI查询),这种方法可以允许开发人员灵活定制请求及相应的内容,这是优点,缺点是要写好多代码,呵呵,这里就不多说了。

  一般对于RBL而言,可能存在许多种返回值(中国反垃圾邮件联盟的没有,只有一种返回值),如sbl-xbl.spamhaus.org就提供了许多种服务,一般提供服务的网站都会有介绍,对于邮件接收量不是很大或速度要求不是很高的用户推荐多使用几个RBL服务器,对于sbl-xbl.spamhaus.org是一个非常优秀的服务站点,建议大家使用一下。

中国反垃圾邮件联盟提供的服务器地址及返回码:

名称 地址 测试地址 返回状态码
CBL cbl.anti-spam.org.cn 2.0.0.127.cbl.anti-spam.org.cn. 127.0.8.2
CDL cdl.anti-spam.org.cn 0.0.0.240.cdl.anti-spam.org.cn. 127.0.8.4
CBL+ cblplus.anti-spam.org.cn 2.0.0.127.cblplus.anti-spam.org.cn. 127.0.8.6
CBL- cblless.anti-spam.org.cn 2.0.0.127.cblless.anti-spam.org.cn. 127.0.8.5

好了,写完收工。

在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)的更多相关文章

  1. Postfix上的反垃圾邮件的四个方法

    在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...

  2. postfix反垃圾邮件说明

    参考地址:http://guailele.blog.51cto.com/1156442/780223 1.打开 smtp 的认证模块 在/etc/postfix/main.cf文件最后加上:   sm ...

  3. 如何让企业邮箱更安全之gmail yahoo hotmail 反垃圾邮件机制

    一.雅虎.Gmail Domainkeys 是由雅虎公司推出的一项确保电子邮件来源的真实性和内容的完整性的技术,它能让电子邮件服务商确定某封信是否真实的来自某个域和帮助他们的用户免受“钓鱼欺诈邮件“的 ...

  4. exchange 2003配置ASSP 反垃圾邮件

    Exchange上第三方反垃圾邮件用得比较多的是ORF,它直接运行在虚拟SMTP服务上,配置非常的方便.ASSP(https://sourceforge.net/projects/assp/) 是一个 ...

  5. Exchange2010启用反垃圾邮件功能

    今天邮箱服务器发现有大量发件人为空的邮件等待执行,也就是说空邮件堵塞了队列. 一般来说,空邮件就是别人发送垃圾邮件给你,你的服务上不存在这个收件人,那么系统会产生一封退信告诉你这封邮件已经被退.而ex ...

  6. 使用StringEscapeUtils对Java中特殊字符进行转义和反转义

    https://blog.csdn.net/zdx1515888659/article/details/84966214 Java中转义字符反斜杠 \ 的代替方法 | repalceAll 内涵解析 ...

  7. Java 中的四种引用及垃圾回收策略

    Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...

  8. 温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫/反垃圾邮件

    背景 一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫. ...

  9. 检查邮箱IP是否在国际反垃圾邮件组织的黑名单中

    有时候邮件发不出去,很有可能就是邮件服务器的IP被国际上一些反垃圾组织列入黑名单了,这时你可以通过返回的邮件判断是否进入黑名单,或者通过以下查询地址看是否被列入,然后一个个申请移除: http://m ...

随机推荐

  1. Typecho 新浪登陆插件 Sinauth

    花了点时间弄了一个插件. 代码地址:https://github.com/web3d/plugins/tree/master/Sinauth Typecho的扩展机制还是比较完善的,可以自行增加Act ...

  2. TestNG 三 测试方法

    一.设置参数 测试方法是可以带有参数的.每个测试方法都可以带有任意数量的参数,并且可以通过使用TestNG的@Parameters向方法传递正确的参数. 设置方式有两种方法:使用testng.xml或 ...

  3. testng对失败时截图处理

    1.截图类: public class ScreenShot { public WebDriver driver; public ScreenShot(WebDriver driver) { this ...

  4. jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

    最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...

  5. 已解决:Ubuntu php gettext 无效

    使用gettext做多文字国际化,按PHP官方文档,在CentOS上OK,在Ubuntu上不行,调试了快1天,试了网上提供的无数方法,终于有一个OK了…… 看到此文的同学别再被坑了…… 感谢:http ...

  6. [转]Dcloud App离线本地存储方案

    原文地址:http://ask.dcloud.net.cn/article/166 HTML5+的离线本地存储有如下多种方案:HTML5标准方案:cookie.localstorage.session ...

  7. C# 如何在Excel 动态生成PivotTable

    Excel 中的透视表对于数据分析来说,非常的方便,而且很多业务人员对于Excel的操作也是非常熟悉的,因此用Excel作为分析数据的界面,不失为一种很好的选择.那么如何用C#从数据库中抓取数据,并在 ...

  8. jQuery的deferred对象使用详解——实现ajax线性请求数据

    最近遇到一个ajax请求数据的问题 ,就是想要请求3个不同的接口,然后请求完毕后对数据进行操作,主要问题就是不知道这3个请求誰先返回来,或者是在进行操作的时候不能保证数据都已经回来,首先想到能完成的就 ...

  9. kindeditor-在线编辑器

    写在前面的话: 今天是第一次写博客,很值得纪念,希望能够和大神们一起交流技术,一起进步...来自<一只有梦想的前端小白> 最近项目中需要实现图文混排的效果,所以研究了下在线编辑器-- ki ...

  10. JQuery+HTML5+CSS3制作时间轴插件,支持响应式布局

    一.效果图预览 (图一) (图二) 附注说明: 图一是浏览器宽度像素大于560px下的展示效果,图二是在浏览器宽度像素小于560px下的展现效果.使用的是CSS3的Media Query(媒体查询)实 ...