我想将邮件从一台IMAP服务器复制到另一台IMAP服务器。我不想更改任何消息数据。我使用的是python imaplib。在
这是我尝试过的代码:
typ, data = connection1.uid('FETCH', uid, 'RFC822')
connection2.uid('append', None, data[0][1])
但这引发了一个例外:
imaplib.error: UID command error: BAD ['"Delivered-To: niels@domain.com']
所以我认为参数(data[0][1])的格式不正确。在
数据[0][1]的内容如下所示:
Delivered-To: niels@domain.com\r\nReceived: by 10.216.207.222 with SMTP id n27cs38120weo;\r\nFri, 12 Nov 2010 09:43:47 -0800 (PST)\r\nReceived: by 10.200.19.19 with SMTP id y19mr234526eba.52.12894526694;\r\nFri, 12 Nov 2010 09:43:46 -0800 (PST)\r\nReturn-Path: somename@domain.com\r\nReceived: from dub0-omc1-s20.dub03.hotmail.com (dub0-omc1-s20.dub03.hotmail.com [157.55.0.220])\r\n ......
我该怎么解决这个问题?在
更新:在Wodin和Avadhesh的帮助下,我现在可以附加消息,但是如何获得刚刚附加的消息的UID?在
您可以尝试以下代码:
其中,对于看到的电子邮件,标志将为“(\Seen)”,对于未看到的电子邮件,标志为“”。在
解决了!在
首先用
然后从复制的消息中获取唯一的消息id,如下所示
^{pr2}$然后使用邮件id在目标邮箱中查找新邮件,如下所示
您是否尝试过:
RFC3501显示UID命令的语法,如下所示:
^{pr2}$也就是说,似乎没有“UID APPEND”命令。在
相关问题 更多 >
编程相关推荐