我使用Net :: IMAP通过imap将电子邮件发送到我的应用程序,并将邮件复制到All Mail文件夹,然后将其标记为收件箱中的已删除。
这样就可以在所有电子邮件文件夹中备份用户的所有电子邮件,我的应用程序只会从收件箱中提取未标记为已删除的电子邮件。
这适用于gmail,但我正在尝试为horde webmail执行此操作。
我成功收到了电子邮件,但似乎无法将其标记为已删除并将其复制到另一个文件夹。
以下是我在gmail中执行此操作的代码:
imap.uid_copy(uid, "[Gmail]/All Mail")
imap.uid_store(uid, "+FLAGS", [:Deleted])
对此有何帮助?什么应该将“[Gmail] / All Mail”更改为horde webmail?对于像hotmail / yahoo等所有电子邮件,这是不同的吗?
对此的任何帮助都会很棒。 感谢
瑞克
答案 0 :(得分:0)
connection.store( uid , "+FLAGS", [:DELETED])
...
connection.expunge()
e.g。 “商店”而不是“uid_store”?
我没有使用Horde,但上面这行对我来说是几台IMAP服务器。
还要确保在您标记要删除的邮件的邮箱上调用 connection.expunge 。!
e.g。查看#expunge的net / imap API: http://www.ruby-doc.org/stdlib/libdoc/net/imap/rdoc/classes/Net/IMAP.html#M001441