为避免邮件服务器管理人员每周查看黑名单,并提交黑名单申诉,如果服务器数量较多则非常麻烦。
IP列表、提交信息请自定义。
中国反垃圾邮件联盟申诉网址: 提交
此网站不需要输入验证码,故方便脚本提交申诉
python版本
-
#!/usr/bin/env python
-
#encoding:utf-8
-
import requests
-
import re
-
-
IpList=['113.212.91.25','113.212.91.23']
-
QueryAdd=''
-
ComplaintAdd=''
-
data = {
-
'CONTENT':'''我们是一家正规的XXX。xxxxxxx。恳请将我们的发送服务器IP移出黑名单。谢谢!
-
处理措施:
-
1.XXXX。
-
2.XXXX。''',
-
'CORP':'abc.com',
-
'WWW':'',
-
'NAME':'def',
-
'MAIL':'def@163.com.cn',
-
'TEL':'010-50000000',
-
'LEVEL':'0',
-
}
-
-
for Ip in IpList:
-
query = requests.post(url=QueryAdd, data={'IP':Ip}) # 黑名单查询
-
if query.ok:
-
if re.findall(u'\u7533\u8bc9\u8131\u79bb', query.text, re.S): # 查找关键字 申诉脱离 既表明在黑名单中
-
data['IP']=Ip
-
complaint = requests.post(url=ComplaintAdd, data=data) # 提交申诉
-
if complaint.ok:
-
if re.findall(u'\u60a8\u7684\u9ed1\u540d\u5355\u8131\u79bb\u7533\u8bf7\u5df2\u63d0\u4ea4', complaint.text, re.S):
-
status='申请提交'
-
elif re.findall(u'\u8131\u79bb\u7533\u8bf7\u5df2\u88ab\u4ed6\u4eba\u63d0\u4ea4', complaint.text, re.S):
-
status='重复提交'
-
elif re.findall(u'\u7533\u8bf7\u7531\u4e8e\u8fd1\u671f\u5185\u6709\u88ab\u62d2\u7edd\u7684\u8bb0\u5f55', complaint.text, re.S):
-
status='近期拒绝'
-
else:
-
status='异常'
-
else:
-
status='正常'
-
print '%s %s' %(Ip,status)
shell版本
-
#/bin/bash
-
-
IpList=`awk '$1!~"^#"&&$1!=""{print $1}' host.list`
-
-
QueryAdd=''
-
ComplaintAdd=''
-
-
CONTENT='我们是一家正规的XXX。xxxxxxx。恳请将我们的发送服务器IP移出黑名单。谢谢!
-
处理措施:
-
1.XXXX。
-
2.XXXX。'
-
CORP='abc.com'
-
WWW=''
-
NAME='def'
-
MAIL='def@163.com.cn'
-
TEL='010-50000000'
-
LEVEL='0'
-
-
for Ip in $IpList
-
do
-
Status=`curl -d "IP=$Ip" $QueryAdd |grep 'Getout/ShowForm?IP=' |grep -wc '申诉脱离'`
-
if [ $Status -ge 1 ];then
-
IpStatus="黑名单中"
-
results=`curl -d "IP=${Ip}&CONTENT=${CONTENT}&CORP=${CORP}&WWW=${WWW}&NAME=${NAME}&MAIL=${MAIL}&TEL=${TEL}&LEVEL=${LEVEL}" $ComplaintAdd |grep -E '您的黑名单脱离申请已提交|该IP的脱离申请已被他人提交|申请由于近期内有被拒绝的记录'`
-
echo $results
-
if echo $results | grep '您的黑名单脱离申请已提交' > /dev/null 2>&1
-
then
-
complaint='申诉成功'
-
elif echo $results | grep '该IP的脱离申请已被他人提交' > /dev/null 2>&1
-
then
-
complaint='申诉重复'
-
elif echo $results | grep '申请由于近期内有被拒绝的记录' > /dev/null 2>&1
-
then
-
complaint='申诉拒绝'
-
else
-
complaint='异常'
-
fi
-
else
-
IpStatus='正常'
-
complaint='无需申诉'
-
fi
-
echo "$Ip $IpStatus $complaint" >> $(date +%Y%m%d_%H%M%S).log
-
done
阅读(1292) | 评论(0) | 转发(0) |