[英]How to verify an email in python without sending an email by verifying records?
import smtplib, ssl
import dns.resolver,socket
smtp_server= 'smtp.gmail.com'
port = 465
sender = 'reddy@gmail.com'
pssword = ''
addressToVerify = 'raghavareddy@smatbot.com'
context = ssl.create_default_context()
domain_name = addressToVerify.split('@')[1]
print('domain_name : '+domain_name)
records = dns.resolver.resolve(domain_name, 'MX')
mxRecord = records[0].exchange
print(mxRecord)
host = socket.gethostname()
print('hosttttttttttt==',host)
try:
server = smtplib.SMTP_SSL(smtp_server,port)
server.ehlo()
#server.starttls(context = context)
server.ehlo()
server.login(sender,pssword)
ss = server.connect(str(mxRecord),465)
#print(ss)
pp = server.verify(addressToVerify)
print(pp)
ss = server.rcpt(addressToVerify)
print(ss)
print('ok')
except Exception as e:
print(e)
我试图验证 email 地址,但它在未连接 mxrecords 时抛出错误
[WinError 10060] A connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because connected host has failed to respond
它没有连接到 MX 记录。 在验证时
RCPT (503, b'5.5.1 MAIL first. p2-20020a17090ad30200b001cd4989feb7sm14376983pju.3 - gsmtp')
此503
错误代码表示“服务器遇到了错误的命令序列,或者它需要身份验证。
请建议验证 email 的标准方法。
请建议验证 email 的标准方法。
如果不发送带有 nonce 的 email,并等待它在某个时间范围内被使用,则不能。
服务器不会让你随意测试email地址是否存在,否则这里就是垃圾邮件发送者的天堂。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.