Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python库在IMAP中移动邮件_Python_Email_Imap_Imaplib - Fatal编程技术网

使用Python库在IMAP中移动邮件

使用Python库在IMAP中移动邮件,python,email,imap,imaplib,Python,Email,Imap,Imaplib,在IMAP中,将邮件移动到其他文件夹似乎相当困难 看 如何在Python中做到这一点而不编写太多代码 我更喜欢重用:-)标准模块随时为您服务 除了链接问题中的方法外,您还可以使用带有IMAP4的非标准命令。_simple_command(请参见copy()实现,其语法相同) 检查自身功能后,标准模块将为您服务 除了链接问题中的方法外,您还可以使用带有IMAP4的非标准命令。_simple_command(请参见copy()实现,其语法相同) 检查自身功能后,查看“移动”状态。您链接到的问题有一个

在IMAP中,将邮件移动到其他文件夹似乎相当困难

如何在Python中做到这一点而不编写太多代码

我更喜欢重用:-)

标准模块随时为您服务

除了链接问题中的方法外,您还可以使用带有
IMAP4的非标准命令。_simple_command
(请参见
copy()
实现,其语法相同) 检查
自身功能后,标准模块将为您服务

除了链接问题中的方法外,您还可以使用带有
IMAP4的非标准命令。_simple_command
(请参见
copy()
实现,其语法相同)
检查
自身功能后,查看
“移动”
状态。

您链接到的问题有一个问题,解释了IMAP协议的功能。这种命令可能太新,无法通过Python的标准
imaplib
获得。如果是这样的话,你最好向他们发送一个补丁,以便在将来的版本中包含它。这就是它的工作原理——如果没有人费心添加对新命令的支持,它就不会被添加


imaplib
是一个相当低级的包,因此我不希望它能够实现一种很好的消息传递方式。我的建议是使用另一个提供IMAP更高级视图的库(“嘿,服务器,收件箱中有多少封邮件?请给我看最后一封邮件的MIME结构…”)。

您链接到的问题有一个解释IMAP协议功能的问题。这种命令可能太新,无法通过Python的标准
imaplib
获得。如果是这样的话,你最好向他们发送一个补丁,以便在将来的版本中包含它。这就是它的工作原理——如果没有人费心添加对新命令的支持,它就不会被添加


imaplib
是一个相当低级的包,因此我不希望它能够实现一种很好的消息传递方式。我的建议是使用另一个提供IMAP更高级视图的库(“嘿,服务器,收件箱中有多少封邮件?请向我展示上一封邮件的MIME结构…”)。

您可以使用IMAP\u工具包:


您可以使用imap_工具包:


这个命令在IMAP规范中可能是新的。是的,这是真的。但是用例非常古老。我现在使用IMAPClient,并与维护人员进行了交谈,因为到目前为止它还没有移动。该命令在IMAP规范中可能是新的。是的,这是真的。但是用例非常古老。我现在使用IMAPClient,并与维护人员进行了交谈,因为它到目前为止没有移动。
with MailBox('imap.mail.com').login('test@mail.com', 'pwd', initial_folder='INBOX') as mailbox:

    # COPY all messages from current folder to folder1, *by one
    for msg in mailbox.fetch():
        res = mailbox.copy(msg.uid, 'INBOX/folder1')

    # MOVE all messages from current folder to folder2, *in bulk (implicit creation of uid list)
    mailbox.move(mailbox.fetch(), 'INBOX/folder2')

    # DELETE all messages from current folder, *in bulk (explicit creation of uid list)
    mailbox.delete([msg.uid for msg in mailbox.fetch()])

    # FLAG unseen messages in current folder as Answered and Flagged, *in bulk.
    flags = (imap_tools.StandardMessageFlags.ANSWERED, imap_tools.StandardMessageFlags.FLAGGED)
    mailbox.flag(mailbox.fetch('(UNSEEN)'), flags, True)

    # SEEN: mark all messages sent at 05.03.2007 in current folder as unseen, *in bulk
    mailbox.seen(mailbox.fetch("SENTON 05-Mar-2007"), False)