微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

imap_tools 响应状态“ok”预期但“no”收到错误

如何解决imap_tools 响应状态“ok”预期但“no”收到错误

我正在尝试从 Yahoo 电子邮件中抓取链接,但不断收到以下错误。我曾尝试添加睡眠条件,但似乎没有任何区别。

Response status "ok" expected but "no" received. Data: [b'[SERVERBUG] SELECT Server error - Please try again later']

谁能看出问题是什么?

from imap_tools import MailBox,AND
import re,time,datetime,os
from config import email,password

uids = []
yahooSmtpServer = "imap.mail.yahoo.com"
while True:
    while True:
        try:
            client = MailBox(yahooSmtpServer).login(email,password,'INBox')
            try:
                msgs = client.fetch(AND(seen=False))
                for msg in msgs:
                    links = []
                    if str(datetime.datetime.today()).split(' ')[0] == str(msg.date).split(' ')[0]:
                    #if str(msg.date).split(' ')[0].split('-')[0] == '2021' and str(msg.date).split(' ')[0].split('-')[1] == '06' and not msg.uid in uids:
                        mail = msg.html
                        #uids.append(msg.uid)
                        if 'order' in mail and not 'return' in mail:
                            for i in re.findall(r'(https?://[^\s]+)',mail):
                                if 'pick' in i:
                                    link = i.replace('"',"")
                                    link = link.replace('<','>').split('>')[0]
                                    print(link)
                                    os.system('start cmd /c python scrap.py '+ link + ' && exit')
                        
                                    break
                        client.seen(msg.uid,True)
            except Exception as e:
                print(e)
                pass
            client.logout()
            time.sleep(5)
        except Exception as e:
            print(e)
            print('sleeping for 5 sec')
            time.sleep(1)

解决方法

您似乎向服务器发送了垃圾邮件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。