Проблема при копировании писем из папки «Входящие» в папку цитат. ⇐ Python
-
Гость
Проблема при копировании писем из папки «Входящие» в папку цитат.
Я извлекаю электронные письма с предложениями из папки «Входящие» и перемещаю их в папку «Цитаты». Когда я запускаю этот код после комментирования mail.copy, получаю правильные данные с правильными датами, но когда я запускаю его с mail.copy, данные не совпадают.
def decode_subject(encoded_subject): decoded_header = decode_header(encoded_subject) тема = "" например, кодировка в decoded_header: если isinstance(часть, байты): субъект += part.decode(кодировка или 'utf-8') еще: тема += часть вернуть тему почта = imaplib.IMAP4_SSL('imap.example.com') mail.login('#####', '######') mail.select('Входящие') start_date = datetime(2024, 2, 19).strftime('%d-%b-%Y') end_date = datetime(2024, 2, 20).strftime('%d-%b-%Y') результат, данные = mail.search(None, '(НАЧИНАЯ "{}" ДО "{}")'.format(start_date, end_date)) пытаться: email_ids = данные[0].split() для числа в email_ids: # Получить электронное письмо для каждого идентификатора результат, email_data = mail.fetch(num, '(RFC822)') если email_data не имеет значения None: raw_email = данные_электронной почты[0][1] email_message = email.message_from_bytes(raw_email) date = email.utils.parsedate_to_datetime(email_message['Date']) тема = decode_subject(email_message['Тема']) если исследование( r'advise exw|требуемая расценка|запрос на авиаперевозку|запрос на авиаперевозку|запрос на авиаперевозку|тариф на|из Дели в|воздух|расценка на авиаперевозку|воздушный экспорт|Требуется срочное предложение|совет по авиаперевозкам|срочно', тема, re.IGNORECASE): mail.copy(num, 'Цитата') кроме исключения как e: print(f"Ошибка при перемещении писем: {e}")
Я извлекаю электронные письма с предложениями из папки «Входящие» и перемещаю их в папку «Цитаты». Когда я запускаю этот код после комментирования mail.copy, получаю правильные данные с правильными датами, но когда я запускаю его с mail.copy, данные не совпадают.
def decode_subject(encoded_subject): decoded_header = decode_header(encoded_subject) тема = "" например, кодировка в decoded_header: если isinstance(часть, байты): субъект += part.decode(кодировка или 'utf-8') еще: тема += часть вернуть тему почта = imaplib.IMAP4_SSL('imap.example.com') mail.login('#####', '######') mail.select('Входящие') start_date = datetime(2024, 2, 19).strftime('%d-%b-%Y') end_date = datetime(2024, 2, 20).strftime('%d-%b-%Y') результат, данные = mail.search(None, '(НАЧИНАЯ "{}" ДО "{}")'.format(start_date, end_date)) пытаться: email_ids = данные[0].split() для числа в email_ids: # Получить электронное письмо для каждого идентификатора результат, email_data = mail.fetch(num, '(RFC822)') если email_data не имеет значения None: raw_email = данные_электронной почты[0][1] email_message = email.message_from_bytes(raw_email) date = email.utils.parsedate_to_datetime(email_message['Date']) тема = decode_subject(email_message['Тема']) если исследование( r'advise exw|требуемая расценка|запрос на авиаперевозку|запрос на авиаперевозку|запрос на авиаперевозку|тариф на|из Дели в|воздух|расценка на авиаперевозку|воздушный экспорт|Требуется срочное предложение|совет по авиаперевозкам|срочно', тема, re.IGNORECASE): mail.copy(num, 'Цитата') кроме исключения как e: print(f"Ошибка при перемещении писем: {e}")