Я нашел этот скрипт python в metafilter и изменил адреса и передал их по необходимости, но я получил ошибку сценария в последней строке. В ошибки маленький символ Карат под котировке после печати «\ пОшибка синтаксиса Python в сценарии извлечения адреса электронной почты
Не будучи кодировщик вообще, я понятия не имею, куда обратиться дальше. Любая помощь будет принята с благодарностью.
Что я на самом деле нужно сделать, это вытащить «из» адресов и не и CC, но я полагал, что я хотел бы получить эту работу должным образом первый.
Сценарий был запущен в Windows, используя Python 3.2 и перенаправлен вывод в текстовый файл.
import email
import getpass
import imaplib
HOST = "mail.-----.com"
USER = "[email protected]"
FOLDER = "Folder"
connection = imaplib.IMAP4_SSL(HOST)
res, data = connection.login(USER, getpass.getpass())
assert res == "OK"
res, count = connection.select(FOLDER)
assert res == "OK"
res, (msg_nums,) = connection.search(None, "ALL")
assert res == "OK"
for msg_num in msg_nums.split():
res, message_text = connection.fetch(msg_num, "(RFC822)")
assert res == "OK"
message = email.message_from_string(message_text[0][1])
tos = message.get_all("From") or []
ccs = message.get_all("Cc") or []
all_recipients = email.Utils.getaddresses(tos + ccs)
print "\n".join(addr.lower() for realname, addr in all_recipients)
Да, я просто заметил, что он был написан в 2006 году, поэтому я пробовал несколько разных версий с разными ошибками. Теперь, после внесения этих изменений и запустить его с питоном 32 снова, я получаю: Traceback (самый последний вызов последнего): Файл « email2.py», строка 14, в утверждают, Рез == «OK» AssertionError –
user1221425
Звуки так как он не получает желаемого ответа от почтового сервера. Боюсь, я не могу помочь отладить его. – kindall