Compare commits
No commits in common. "fd68be89918aacb159562837eec9bffe651095a6" and "58212611bac6d342456853b7e044e9e947a2eecd" have entirely different histories.
fd68be8991
...
58212611ba
@ -5,7 +5,7 @@ A Python script to resolve email-related DNS records for a domain.
|
||||
Example:
|
||||
|
||||
```
|
||||
$ python email_dns.py contoso.com
|
||||
$ python email_dns.py cbarts.net
|
||||
{
|
||||
"cbarts.net": {
|
||||
"mx": [
|
||||
|
||||
22
email_dns.py
22
email_dns.py
@ -22,15 +22,6 @@ dkim_selectors = { # <selector>._domainkey.<domain>
|
||||
'protonmail': [
|
||||
'protonmail', 'protonmail1', 'protonmail2'
|
||||
],
|
||||
'autotask': [
|
||||
'autotask'
|
||||
],
|
||||
'connectwise psa': [
|
||||
's318306'
|
||||
],
|
||||
'zendesk': [
|
||||
'zendesk1', 'zendesk2'
|
||||
],
|
||||
'sendgrid': [
|
||||
'sg', 's1', 'sg2', 's2', 's3'
|
||||
],
|
||||
@ -45,13 +36,8 @@ dkim_selectors = { # <selector>._domainkey.<domain>
|
||||
'mandrill': [
|
||||
'mandrill'
|
||||
],
|
||||
# Mailgun (Very generic, thank you, Mailgun)
|
||||
'mailgun': [
|
||||
'pic', 'smtp',
|
||||
],
|
||||
# Bloomerang (using SendGrid backend)
|
||||
'bloomerang': [
|
||||
'blm', 'blm2',
|
||||
'pic', 'smtp', # Mailgun (Very generic, thank you, Mailgun)
|
||||
],
|
||||
'bullhorn': [
|
||||
'bh'
|
||||
@ -73,7 +59,7 @@ def process_args(args: list) -> list:
|
||||
|
||||
return domains
|
||||
|
||||
def safe_resolve(name: str, type: str) -> resolver.Answer | None:
|
||||
def safe_resolve(name: str, type: str) -> resolver.Answer:
|
||||
try:
|
||||
answer = resolver.resolve(name, type)
|
||||
return answer
|
||||
@ -84,9 +70,7 @@ def safe_resolve(name: str, type: str) -> resolver.Answer | None:
|
||||
return None
|
||||
|
||||
class Domain:
|
||||
|
||||
# def __init__(self, name: str, mx: str = [], spf: str = None, dkim: list = [], dmarc: str = None) -> None:
|
||||
|
||||
def __init__(self, name: str) -> None:
|
||||
self.name = name
|
||||
self.mx = []
|
||||
@ -111,7 +95,7 @@ class Domain:
|
||||
for a in answer:
|
||||
if str(a).lower().find('v=spf1') != -1:
|
||||
self.spf = str(a).replace('"', '')
|
||||
# TODO: Recurse through includes?
|
||||
# TODO: Recurse through includes
|
||||
# matches = re.search(r'(?:include:)(.*)(?=\s)', str(a).lower())
|
||||
# domains = set()
|
||||
# if matches:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user