最初にDNSを解決してメールが実際に存在するかどうかを確認してから、以下のコードを使用してメールが有効かどうかを確認しています。
email = [email protected]
domain = email.split("@")[-1]
records = dns.resolver.query(domain, 'MX')
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
server.connect(mxRecord)
server.helo(Host)
server.mail('[email protected]')
code, message = server.rcpt(str(email))
server.quit()
if code == 250:
print('valid email', message)
else:
print('invalid email', message)
これは数回機能しますが、複数のリクエストを送信すると、次のようなメッセージが表示されます。
「5.7.1サービスを利用できません。クライアントホスト[122.166.xxx.xxx]がSpamhausを使用してブロックされています。このリストからの削除をリクエストするには、 http://www.spamhaus.org/lookup.lasso (AS160312312)を参照してください[BL2NAM02FT12312.eop-nam02.prod.protection.Outlook.com] '"
スパム行為と思われるため、私のIPアドレスをブロックしようとしていることを理解しています。
ここに私の質問があります:
server.mail('[email protected] ')
これを試して。
pip install validate_email
from validate_email import validate_email
is_valid = validate_email('[email protected]', verify=True)
詳細は https://pypi.org/project/validate_email/ をご覧ください。