这是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. PHP程序员7小时学会Kotlin系列

    这是我尝试给自己一个目标去学会一门新语言的方法.正在创作中,敬请期待! 提纲 第一小时 概念 第二小时 基础 第三小时 函数 第四小时 类与对象 第五小时 类与对象二 第六小时 DSL 第七小时 工程 ...

  2. MUI(5)

    今天实现9宫格菜单.先上效果图: 就是这个效果咯,界面不太美观,底部导航栏是为了苹果用户没有返回按键设计的,只是为了方便演示而已,没有做过多的处理.首先先说一下这个底部导航栏如何实现,这个底部导航栏小 ...

  3. TestNG官方文档中文版(5)-测试方法/类和组

    5 - Test methods, Test classes and Test groups 5.1 - Test groups TestNG容许执行复杂的测试方法分组.不仅可以申明方法属于组,而且可 ...

  4. Android 手机卫士9--短信备份

    AToolActivity.java protected void showSmsBackUpDialog() { //1,创建一个带进度条的对话框 final ProgressDialog prog ...

  5. HTTP协议(转)

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

  6. 【初探移动前端开发03】jQuery Mobile(上)

    前言 到目前为止,我打了几天酱油了,这几天落实了工作,并且看了一部电视连续剧(陈道明-手机),我很少看连续剧了,但是手机质量很高啊,各位可以看看. 我们今天先学习一下jquery mobile的基础知 ...

  7. web基础

    1.认识webapp程序?     请求方式不同:基于事件触发------基于http协议下的http请求和http响应.点击百度一下-----发送了请求:不仅会携带问题,ip地址,主机号.请求是客户 ...

  8. cell重用的几种方式

    1.使用xib重用 //ios6 之后推荐大家使用的重用方式 //动态的使用self获得当前类名,来作为唯一的标示 NSString * identifier = NSStringFromClass( ...

  9. Flex布局窥探(一)

    一.Flex布局是神马? Flex是Flexible Box的缩写,意为‘弹性布局’,用来为盒模型提供最大的灵活性. 任何容器都能被指定为Flex布局: .box{ display: flex; } ...

  10. react native 学习资料整理

    入门教程 深入浅出 React Native:使用 JavaScript 构建原生应用 http://www.appcoda.com/react-native-introduction/  中文版 h ...