Я пытаюсь получить информацию из всех папок, но, кажется, что код дает мне следующее сообщение об ошибке:Python IMAP выбрать несколько папок
команда ПОИСК нелегальную в государственной AUTH, допускается только в отдельных государствах
Я искал его, но никаких результатов для меня.
Это код:
M = imaplib.IMAP4_SSL('',993)
M.login(user,password)
folders = M.list()
for folder in folders[1]:
for allfolders in re.findall('"\/"(.*)',folder):
finalfolders = allfolders.replace(" ",'')
M.select(finalfolders, readonly=True)
print finalfolders
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
email_message = email.message_from_string(data[0][1])
su = email_message['From']
allz = re.findall("<(.*)>",su)
for x in allz:
print x
results.write(x+'\n')
results.flush()
#print su
M.close()
M.logout()
В основном я пытаюсь извлечь «из», из всех папок, основанных на мою учетную запись электронной почты.
Похоже, что вы игнорируете возвращаемое значение из 'M.login'; возможно, вы должны это проверить. Какая строка генерирует трассировку? – larsks
Привет, проблема возникает после второго цикла, здесь M.select (finalfolders, readonly = True). Если я переведу остальную часть кода после второго цикла 2 шага назад, к сожалению, вы получите только последнюю папку, но я хочу, чтобы все они были. – pythy