首页 > 解决方案 > 使用python选择雅虎邮件垃圾邮件文件夹

问题描述

我已经能够使用此代码选择 gmail 垃圾邮件文件夹和 Outlook 垃圾邮件文件夹

'[Gmail]/Spam' and 'Junk'

但我无法为 yahoomail 做同样的事情

以下是我的代码

smt = 'imap.mail.yahoo.com'
with MailBox(smt).login('******@yahoo.com', 'password', initial_folder='Inbox') as mailbox:
    for f in mailbox.folder.list():
        print(f)

下面是这段代码的结果

{'flags': ('\\Archive', '\\HasNoChildren'), 'delim': '/', 'name': 'Archive'}
{'flags': ('\\Junk', '\\HasNoChildren'), 'delim': '/', 'name': 'Bulk Mail'}
{'flags': ('\\Drafts', '\\HasNoChildren'), 'delim': '/', 'name': 'Draft'}
{'flags': ('\\HasNoChildren',), 'delim': '/', 'name': 'Inbox'}
{'flags': ('\\Sent', '\\HasNoChildren'), 'delim': '/', 'name': 'Sent'}
{'flags': ('\\Trash', '\\HasNoChildren'), 'delim': '/', 'name': 'Trash'}

我真的不知道如何选择垃圾邮件文件夹,我真的需要这个帮助。

标签: pythonsmtplibemail-client

解决方案


关于什么:

with MailBox(SMTP_SERVER).login(FROM_EMAIL, FROM_PWD, initial_folder = 'Bulk Mail') as mailbox:
    # EXISTS: check is folder exists (shortcut for list)
    current_folder = mailbox.folder.get()
    subjects2 = [msg.subject for msg in mailbox.fetch()]

推荐阅读