def good_personal_email(message): domain = first_sender_domain(message) domain_variations = [domain, strip_top_level(domain), strip_bottom_level(domain)] if sent_to_receivers_at_personal_domain(message, domain_variations): return True domain_translations = { "gnu.org": ["nongnu.org"], "amazon.com": ["reddit"], "redditgifts.com": ["reddit"], "redditgifts.uservoice.com": ["reddit"], "kalyanacentre.com": ["kalyana"], "marksandspencer.ie": ["markandspencers"], } for translation in domain_translations.get(domain, []): if sent_to_address(message, personal.personal_email(translation)): return True return False
def sent_to_receivers_at_personal_domain(message, receivers): addresses = [personal.personal_email(receiver) for receiver in receivers] return sent_to_addresses(message, addresses)