我正在尝试使用pythons imaplib将我公司的IMAP服务器迁移到新的Exchange服务器。 这是我第一次看到邮件协议,而且我一般都是网络新手。我对IMAP一点都不太了解,到目前为止还经历过反复试验。
目前我的python脚本正常运行。它使用imaplib.IMAP4_SSL(主机,端口)连接到每个邮箱,然后使用此循环单独下载和上传每封电子邮件。
for num in msgs: #iterate over each messages id number
data = From.fetch(num, '(FLAGS INTERNALDATE RFC822)')[1]
print "Message {0}/{1}".format(cnt, totalmsgs)
flags = " ".join(imaplib.ParseFlags(data[0][0]))
date = imaplib.Internaldate2tuple(data[0][0])
try:
#add a copy of the message to the archive box specified above
To.append(box, flags, date, data[0][1])
except Exception, e:
"Could not migrate message ", cnt
print e
cnt += 1
使用timedelta进行一些粗略的时间测量后,我发现append命令可能需要一分钟才能完成。谁能解释为什么这么慢?
我已添加此行
To.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
正如其他地方所建议的那样