是否可以使用 imap-tools 寻址第二个共享交换邮箱?

问题描述

使用 imap-tools,完全可以访问和使用我的主要 Exchange 邮箱帐户。 但是我有第二个邮箱(它不仅仅是我主收件箱中的一个不同文件夹,而是一个不同的共享交换邮箱,我可以访问)。

from imap_tools import MailBox,AND
    
# get list of email subjects from INBox folder
with MailBox('imap.mail.com').login('test@mail.com','pwd') as mailBox:
    subjects = [msg.subject for msg in mailBox.fetch()]

有没有办法访问第二个共享邮箱?

解决方法

正如 this answer 中所报告的,获取到交换共享邮箱的连接只是常规 IMAP 连接的一个特例。只需使用共享邮箱的正确登录名打开第二个连接即可。

from imap_tools import MailBox
from itertools import chain

# get list of email subjects from both INBOX folder
with MailBox('imap.mail.com').login('userlogin','userpwd') as main_box,\
     MailBox('imap.mail.com').login('DOMAIN\userlogin\sharedboxname','userpwd') as shared_box:
    subjects = [msg.subject for msg in chain(main_box.fetch(),shared_box.fetch())]