管理郵件伺服器是很繁瑣的工作,帳密被駭、信沒收到、寄不出去、對方沒收到信、對方信進不來、通訊錄查不到、帳號不能用…

有些例行工作,如果能運用程式排程自動檢查,可以減輕不少工作量,提升服務品質。

以下運用Python pydnsbl套件,寫個小程式,自動檢查發信IP是否被列黑名單。發信IP一列一個,放在「monitored-IPs.txt」檔案,Python程式和IP檔案放同一目錄即可。

#!.\venv\Scripts\python.exe
# -*- coding: utf-8 -*-
#
# for Python version 3.10
# Author:William Huang
# Date:2022/08/04
# program:checkDNSrbl.py
# pip install pydnsbl
# Ref.
# https://pypi.org/project/pydnsbl/
#

from pydnsbl import DNSBLIpChecker, DNSBLDomainChecker  

# 打開發信 IP 檔
with open('monitored-IPs.txt', 'r') as f:
    # 讀取發信IP
    mIPs = f.read().splitlines()  
    # 每個發信IP過一次
    for ip in mIPs:
        # 檢查(輸出)發信IP有沒有被列入DNSRBL黑名單,套件內含49個常見黑名單providers
        print(DNSBLIpChecker().check(ip))

# 檢查
domain_checker = DNSBLDomainChecker()
# 2個待檢查發信網域名稱:mx1.your-name.tw、mx2.your-name.tw
for i in range(1, 3):
    mx = "mx" + str(i) + ".your-name.tw"
    # 檢查(輸出)發信網域有沒有被列入黑名單
    print(domain_checker.check(mx))

 

以下(範例)請改放自己的發信IP,放在「monitored-IPs.txt」檔:

122.147.15.131
122.147.15.132
122.147.15.133
122.147.15.134
122.147.15.135
122.147.15.136
122.147.15.141

 

No comments

Leave your comment

In reply to Some User