如何使用电子邮件验证域是否包含该域



嗨,我正在寻找一种使用提供的电子邮件地址验证域的方法域名可以是 http://www.test.free.com http://www.free.com.au http://www.free.com.au.org http://www.free.com.org 或者可以有一个域名,其中包含任意数量的子域和任意数量的验证。

验证电子邮件应包含域,这就是我到目前为止所写的内容

if domain_url is not None and verification_email is not None:
    logging.info('==============================')
    logging.info('BOTH WERE NOT NONE')
    logging.info('==============================')
    domain_email = verification_email.split('@')[1].split('.')[0]
    logging.info('==============================')
    logging.info(domain_email)
    logging.info('==============================')
    verify_domain_url_list = domain_url.split('.')
    if len(verify_domain_url_list) == 4:
        verify_domain_url_list.pop()
        verify_domain_url_list.pop()
    if len(verify_domain_url_list) == 3:
        verify_domain_url_list.pop()

    verify_status = domain_email in verify_domain_url_list
    if verify_status:
        return 'yes'
    else:
        pre_domain_address = verify_domain_url_list[0].split('//')[1]
        if pre_domain_address is not None and 
            domain_email in pre_domain_address:
            return 'yes'
        else:
            return 'no'
    return 'no' 

但这并不符合所有的可能性。 任何人都可以提供帮助吗?

您可以这样做,只需在括号内添加新域即可。

verification_email = 'fed@test.free.com'
pattern = r'.*@(test.free.com|free.com.au|free.com.au.org|free.com.org)$'
import re
if re.search( pattern , verification_email):
    print('yes')
    # or on your case, return 'yes'

https://github.com/fedmich/StackOverflow-answers/blob/master/python-11220230/regex.py

相关内容

最新更新