Skip to main content
 首页 » 编程设计

python之如何保存在 python 中使用 exchangelib 库生成的电子邮件消息项

2024年09月03日28unruledboy

我使用 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) 

'''

请您参考如下方法:

我不确定 .eml 文件的格式是否有公认的标准,但至少一些电子邮件客户端会转储原始 MIME 内容,这些内容在 exchangelib 中作为 Message 提供。 mime_content.