Как сохранить элемент сообщения электронной почты, созданный с помощью библиотеки exchangelib в python - PullRequest
0 голосов
/ 08 ноября 2019

Я использовал библиотеку exchangelib для загрузки писем из своей папки «Входящие». Сообщения в конечном итоге являются экземпляром exchangelib.items.Message. Я хочу сохранить всю эту электронную почту в виде файла .msg, чтобы позже я мог прикрепить его к некоторому приложению. Может кто-нибудь, пожалуйста, дайте мне знать, как я могу сделать это в Python? В приведенном ниже коде я хочу сохранить каждый элемент списка сообщений. В настоящее время я работаю только с одним письмом.

'' '

from exchangelib import Account, Configuration, Credentials, DELEGATE

def connect(server, email, username, password):
    """
    Get Exchange account cconnection with server
    """
    creds = Credentials(username=username, password=password)
    config = Configuration(server=server, credentials=creds)
    return Account(primary_smtp_address=email, autodiscover=False, config = config, access_type=DELEGATE)

def get_recent_emails(account, folder_name, count):
    """
    Retrieve most emails for a given folder
    """
    # Get the folder object
    folder = account.inbox / folder_name
    # Get emails
    return folder.all().order_by('-datetime_received')[:count]

account = connect(server, email, username, password)

emails = get_recent_emails(account, 'BSS_IT', 1)
msgs = []
for msg in emails:
    msgs.append(msg)

' ''

1 Ответ

1 голос
/ 12 ноября 2019

Я не уверен, что существует признанный стандарт для формата файлов .eml, но по крайней мере некоторые почтовые клиенты выгружают необработанный контент MIME, который доступен в exchangelib как Message.mime_content.

...