在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)
这是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+使用)的更多相关文章
- Postfix上的反垃圾邮件的四个方法
在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...
- postfix反垃圾邮件说明
参考地址:http://guailele.blog.51cto.com/1156442/780223 1.打开 smtp 的认证模块 在/etc/postfix/main.cf文件最后加上: sm ...
- 如何让企业邮箱更安全之gmail yahoo hotmail 反垃圾邮件机制
一.雅虎.Gmail Domainkeys 是由雅虎公司推出的一项确保电子邮件来源的真实性和内容的完整性的技术,它能让电子邮件服务商确定某封信是否真实的来自某个域和帮助他们的用户免受“钓鱼欺诈邮件“的 ...
- exchange 2003配置ASSP 反垃圾邮件
Exchange上第三方反垃圾邮件用得比较多的是ORF,它直接运行在虚拟SMTP服务上,配置非常的方便.ASSP(https://sourceforge.net/projects/assp/) 是一个 ...
- Exchange2010启用反垃圾邮件功能
今天邮箱服务器发现有大量发件人为空的邮件等待执行,也就是说空邮件堵塞了队列. 一般来说,空邮件就是别人发送垃圾邮件给你,你的服务上不存在这个收件人,那么系统会产生一封退信告诉你这封邮件已经被退.而ex ...
- 使用StringEscapeUtils对Java中特殊字符进行转义和反转义
https://blog.csdn.net/zdx1515888659/article/details/84966214 Java中转义字符反斜杠 \ 的代替方法 | repalceAll 内涵解析 ...
- Java 中的四种引用及垃圾回收策略
Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...
- 温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫/反垃圾邮件
背景 一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫. ...
- 检查邮箱IP是否在国际反垃圾邮件组织的黑名单中
有时候邮件发不出去,很有可能就是邮件服务器的IP被国际上一些反垃圾组织列入黑名单了,这时你可以通过返回的邮件判断是否进入黑名单,或者通过以下查询地址看是否被列入,然后一个个申请移除: http://m ...
随机推荐
- Rest.Ler PHP API Server解决方案
https://github.com/Luracast/Restler 通过composer安装依赖后,整个vendor将近三十兆.这太不爽了.搞PHP的人如果没有洁癖的追求,跟搞Java的咸鱼有神码 ...
- ahjesus配置vsftpd虚拟用户在Ubuntu
网上搜索了很多资料,过时,不全,货不对版 已下步骤亲测有效,不包含匿名用户登录 1.新建/home/loguser.txt 并填充内容,格式如下 用户名密码用户名密码用户名密码 2.生成db文件用于用 ...
- CI框架源码阅读笔记2 一切的入口 index.php
上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中, ...
- 什么时候加上android.intent.category.DEFAULT
什么时候加上android.intent.category.DEFAULT 1.要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent ...
- linux下查找java进程占用CPU过高原因
1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程 使用top -H -p <pid>查看线程占用情况 3. ...
- GJM : 用Unity模仿CSGO里的火焰效果 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- [转]浅谈php web安全
原文地址:http://blogread.cn/it/article/6086?f=wb 前言: 首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记.细心总结文章,里面有 ...
- [DeviceOne开发]-轮播图和多模板的简单示例
一.简介 这个例子是利用Slideview组件实现循环轮播的效果,同时这个slideview作为一个listview的最上面的一行数, 1. listview有2个模板,一个是以slideview为核 ...
- Eclipse 寻找迷失的ID
这一篇会介绍用一种蠢的办法找拓展点常量ID. 1.打开IDE,之后什么都不干,直接关闭IDE,将当前工作区间(workspace)上的文件.metadata\.plugins\org.eclipse. ...
- 微软正开发Office Reader和Office Lens
据熟知微软Office计划的消息人士透露,微软目前正开发新Windows 8风格的Office应用程序,该应用程序代号被微软称为Office Reader,而为Windows Phone开发的应用程序 ...