AKH*_*HEW 0 python email-validation
我正在创建一个python函数来检查Python中是否存在给定的电子邮件ID.这是我的代码:
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('me@domain.com')
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")
Run Code Online (Sandbox Code Playgroud)
此代码适用于Gmail帐户,但它会为其他电子邮件ID提供错误.如果我尝试其他电子邮件ID,则此行:
code, message = server.rcpt(str(addressToVerify))
Run Code Online (Sandbox Code Playgroud)
给出错误...另外,我应该如何查看其他电子邮件ID?
RCPT命令绝不是检查电子邮件验证的好主意,大多数SMTP服务器会在多次尝试后禁止您的IP,或者忽略您的命令以保护其电子邮件免受垃圾邮件发送者的攻击.验证电子邮件存在的唯一方法是发送验证电子邮件.
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |