Я работаю над кодом на python, который должен искать все адреса электронной почты в csv-файле (они сохранены со своими паролями) для определенной темы. Все работает нормально, но если я добавлю конкретный предмет для поиска, я получу большую проблему.
Это строка:
type, data = mail.search (Нет, '(UNSEEN) (пример TEXT)')
если я удаляю (пример TEXT), это работает, но я хочу искать только электронные письма с этой темой ...
Я нашел код, который ищет электронные письма с определенной темой, но я хочу использовать автоматическое использование данных из файла CSV, и я не решил проблему, чтобы объединить эти функции ..: (
///// START CODE:
import email
import imaplib
import csv
import smtpd
import time
smtp_server = 'imap.arcor.de'
smtp_port = 993
def acccheck():
with open('pipi.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=';')
for row in csv_reader:
readmail(row[0], row[1])
print(row[0], row[1])
def readmail(username, password):
try:
mail = imaplib.IMAP4_SSL(smtp_server)
mail.login(username, password)
mail.select('inbox')
type, data = mail.search(None, '(UNSEEN) (TEXT example)')
mail_ids = data[0]
id_list = mail_ids.split()
for i in reversed(id_list):
type, data = mail.fetch(i, '(RFC822)')
for response_part in data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1].decode('utf-8', errors='ignore'))
email_subject = msg['subject']
email_from = msg['from']
print('From: ' + email_from)
print('Subject: ' + email_subject + '\n')
except Exception as e:
print('ERROR: ' + str(e))
acccheck()
КОНЕЦ КОДА ////
ОШИБКА:
ОШИБКА: ошибка команды FETCH: BAD [b "Ошибка в команде IMAP FETCH: неожиданно ')' (0,001 + 0,000 с)."]
email_1 pw_1
ОШИБКА: ошибка команды FETCH: BAD [b "Ошибка в команде IMAP FETCH: неожиданно ')' (0,001 + 0,000 с)."]
email_2 pw_2
ОШИБКА: ошибка команды FETCH: BAD [b "Ошибка в команде IMAP FETCH: неожиданно ')' (0,001 + 0,000 с)."]
email_3 pw_3