Email Validation Script

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)