私はPythonで特定の電子メールIDが本当に存在するかどうかをチェックするPython関数を作成しています。ここに私のコードはあります:電子メールが存在するかどうかを確認する、gmailアカウントでしか動作しない、その他の人では機能しない人
def email_validate(email_address):
addressToVerify = email_address
domain_name = addressToVerify.split('@')[1]
try:
records = dns.resolver.query(domain_name, 'MX')
except Exception as e:
print e
a = traceback.format_exc()
print a
return HttpResponse(json.dumps({"success":False,"message":"Email Domain is not valid."}), content_type="application/json")
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
server = smtplib.SMTP()
server.set_debuglevel(0)
# SMTP Conversation
server.connect(mxRecord)
server.helo(host)
server.mail('[email protected]')
try:
code, message = server.rcpt(str(addressToVerify))
server.quit()
except:
a = traceback.format_exc()
if code == 250:
return HttpResponse(json.dumps({"success":True,"message":"Email ID is valid."}), content_type="application/json")
else:
return HttpResponse(json.dumps({"success":False,"message":"Email ID is not valid."}), content_type="application/json")
このコードはGmailアカウントでうまく動作しますが、他のメールIDにはエラーがあります。私は他の電子メールIDをしようとすると、この行:
code, message = server.rcpt(str(addressToVerify))
はエラーを与える... また、どのように私は他の電子メールのIDのためにこれをチェックする必要がありますか?
あなたは 'server.rcpt(文字列の中に、いくつかの異なった手でコード化された入力を持つだけで別のプログラムを試してみました(addressToVerify)) 'それがworkiであることを確認するng?また、エラーは正確に何ですか?あなたは 'try'ブロック内にあるので、例外を処理する必要があります... –
[validate_email](https://pypi.python.org/pypi/validate_email)パッケージを試すことができます! –
どのようなエラーが表示されますか? – Nurjan