Я пишу код python для небольшого инструмента, в котором я пытаюсь получить почту с помощью библиотек python imaplib и электронной почты. Сводка кода - это что-то вроде ниже.imaplib: какие факторы определяют тип maintype: «text» или «multipart»
import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.server')
mail.login('[email protected]', 'password')
result, data = mail.uid('search', None, "ALL")
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
email_message = email.message_from_string(raw_email)
maintype = email_message_instance.get_content_maintype()
Я выполняю скрипт с разных хост-машин одновременно. Проблема, с которой я столкнулся, заключается в том, что при получении почтового ящика для такой же входящий адрес электронной почты, на первом главном макросе основного компьютера оценивается как «текст», тогда как для другого хост-компьютера он оценивается как «multipart» во время выполнения сценария.
Хотелось бы знать, как эти значения определяются во время выполнения, и если я всегда хочу, чтобы тип «многопоточность» был стандартным, я должен следовать при написании электронной почты в теле письма.
И какая разница между 'raw_email' на одной машине и другой? – zvone
Hi zvone, raw_email для обоих случаев имеет raw html-код с несколькими значениями. все большинство всего html-кода такие же, кроме нескольких различий. Для maintype = multipart присутствует Content-Type = "multipart/alternative", граничный тег. Для maintype = text, Content-Type = "text/html", поле границы нет – nil13