key
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
DKIM Record Checker - Email Signature Validator
Validates DKIM records for email authentication
"""
import dns.resolver
import re
def check_dkim_record(domain, selector='default'):
"""Check DKIM record for a domain and selector"""
try:
dkim_domain = f'{selector}._domainkey.{domain}'
txt_records = dns.resolver.resolve(dkim_domain, 'TXT')
for record in txt_records:
txt = ''.join([s.decode() if isinstance(s, bytes)
else s for s in record.strings])
if 'v=DKIM1' in txt or 'p=' in txt:
# Parse DKIM record
version = re.search(r'v=([^;]+)', txt)
key_type = re.search(r'k=([^;]+)', txt)
public_key = re.search(r'p=([^;]+)', txt)
return {
'domain': domain,
'selector': selector,
'status': 'VALID',
'dkim_record': txt,
'version': version.group(1) if version else 'DKIM1',
'key_type': key_type.group(1) if key_type else 'rsa',
'has_public_key': bool(public_key and public_key.group(1))
}
return {'domain': domain, 'selector': selector,
'status': 'INVALID', 'error': 'No DKIM record found'}
except dns.resolver.NXDOMAIN:
return {'domain': domain, 'selector': selector,
'status': 'MISSING', 'error': 'DKIM record not found'}
except Exception as e:
return {'domain': domain, 'selector': selector,
'status': 'ERROR', 'error': str(e)}
# Common selectors to check
COMMON_SELECTORS = ['default', 'selector1', 'selector2',
'google', 'k1', 's1', 's2', 'mail']
if __name__ == '__main__':
domain = input('Enter domain: ')
for selector in COMMON_SELECTORS:
result = check_dkim_record(domain, selector)
if result['status'] == 'VALID':
print(f"Found: {selector}._domainkey.{domain}")
print(f"Key Type: {result['key_type']}")
break
info Об инструменте
The DKIM Record Checker validates DomainKeys Identified Mail records, which use cryptographic signatures to verify email authenticity. DKIM ensures emails haven't been modified in transit.
Ключевые особенности
- DKIM Record Lookup - Retrieves DKIM records from DNS TXT entries
- Multi-Selector Support - Checks common selectors (google, selector1, etc.)
- Key Validation - Verifies public key presence and format
- Signature Verification - Validates DKIM signature structure
- Bulk Checking - Process multiple domains at once
Почему DKIM важен
- Proves email wasn't modified in transit
- Improves deliverability with major providers
- Required for DMARC alignment
- Protects brand reputation
Распространённые селекторы
Email providers use different selectors:
- Google Workspace: google
- Microsoft 365: selector1, selector2
- SendGrid: s1, s2
- Mailchimp: k1
Требования
- Python 3.7+
- dnspython library (
pip install dnspython)
Tip: If you don't know your DKIM selector, the tool will automatically check common selectors used by popular email providers.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial