Code Preview
#!/usr/bin/env python3
import dns.resolver, socket
def check_sender_reputation(domain):
report = {'domain': domain}
# Get IP
try:
ip = socket.gethostbyname(domain)
report['ip'] = ip
except: report['ip'] = None
# Check SPF
try:
spf = dns.resolver.resolve(domain, 'TXT')
for r in spf:
if 'v=spf1' in str(r):
report['spf'] = 'Configured'
break
else:
report['spf'] = 'Not found'
except: report['spf'] = 'Error'
# Check DMARC
try:
dmarc = dns.resolver.resolve(f'_dmarc.{domain}', 'TXT')
report['dmarc'] = 'Configured'
except: report['dmarc'] = 'Not found'
return report
# Full script in download...