import re
import dns.resolver
def is_valid_email(email):
"""Validate the email format and check for MX records."""
# Regex pattern for validating an Email
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
if not re.match(pattern, email):
return False, "Invalid email format."
domain = email.split('@')[1]
try:
# Check for MX records
dns.resolver.resolve(domain, 'MX')
return True, "Valid email address with a working domain."
except (dns.resolver.NoAnswer, dns.resolver.NXDOMAIN):
return False, "Valid format but no MX record found."
if __name__ == "__main__":
email = input("Enter an email address to validate: ")
is_valid, message = is_valid_email(email)
print(message)