Выберите электронное письмо с imaplib, но не отмечайте его, как ЗАМЕЧЕНО

Использование регулярных выражений может быть самым коротким, но это решение более читаемо:

def to_snake_case(s):
    snake = "".join(["_"+c.lower() if c.isupper() else c for c in s])
    return snake[1:] if snake.startswith("_") else snake
23
задан PanosJee 19 July 2010 в 17:34
поделиться

3 ответа

Можно использовать imap_tools пакет: https://pypi.org/project/imap-tools /

from imap_tools import MailBox, Q

# get list of email subjects from INBOX folder
with MailBox('imap.mail.com').login('test@mail.com', 'password') as mailbox:
    # mark_seen=False - not mark emails as seen on fetch
    subjects = [msg.subject for msg in mailbox.fetch(mark_seen=False)]
0
ответ дан 29 November 2019 в 01:08
поделиться

Вы можете использовать (RFC822.PEEK) в качестве аргумента «части сообщения» согласно RFC 1730 (я не проверял, какие серверы на самом деле реализовать это правильно, но им это не кажется трудным).

3
ответ дан 29 November 2019 в 01:08
поделиться

Должно работать следующее:

typ, msg_data = imap_conn.fetch(uid, '(BODY.PEEK[HEADER])')

или BODY.PEEK[TEXT] и т.д.

20
ответ дан 29 November 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: