我需要通过程序检查电子邮件。我用的是这个代码:
resolver = dns.resolver.Resolver()
resolver.timeout = 3
resolver.lifetime = 3
mx_records = resolver.query(domain, 'MX')
for mxRecord in mx_records:
mxRecord = str(mxRecord.exchange)
host = socket.gethostname()
server = smtplib.SMTP(timeout=30)
server.set_debuglevel(0)
addressToVerify = var0
server.connect(mxRecord)
server.helo(host)
server.mail('me@domain.com')
code, message = server.rcpt(str(addressToVerify))
server.quit()
res_email = 'Not Found'
if code == 250:
result = 'Success'
else:
print "doesn't exist"
运行此代码时收到错误:
^{pr2}$我试图更改超时值,但没用。然后我试图在smtplib.SMTP()
中指定端口,但是指定了587
,这也没有解决问题。在
我怎样才能解决这个问题?在
您可以从Python帮助文件复制代码来询问POP3服务器。在这里,它是以任何轻微的修改形式。在
您只需从邮件客户端复制各种常量,例如端口号。在
根据邮件客户端中的设置,此脚本作为输出生成的内容可能会让您感到意外。这就是我要的。在
(431104784) 非‘17‘17‘17‘17’‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17‘17’‘17‘17‘17’‘17‘17‘17’‘17‘17‘17’‘17‘17‘17’‘17‘17’‘17‘17‘17’‘17‘17‘17’‘17‘17‘17‘17‘17’‘17‘17‘17’‘17‘17‘17’‘17‘17‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17’‘17‘17‘17’‘17‘17‘17‘17‘17‘17‘17’‘17‘17‘17‘17‘17‘17公元前2248年11月26日,b'28 10982',b'29 14311',b'30 7477',b'31 3852',b'32 8497',b'33 4086',b'34 7240',b'35 69458',b'36 19430',b'37 110263',b'38 2434',b'39 12043',b'40 5306',b'41 10288',b'42 17164',b'43 74974']
但是我知道服务器上没有我在邮件客户机中没有收到的邮件。这个小谜题的答案是,我的电子邮件客户端会在服务器上保留两周的邮件,或者在我删除它们之前,默认情况下,这可能是为了防止在发生某种计算机故障时丢失邮件。在
这意味着仅仅使用上面的输出作为新消息的检查是不够的。有必要将收到的邮件的邮件头中的日期记录到两周内,以便与服务器上的日期进行比较。在
相关问题 更多 >
编程相关推荐