通过IMAP将电子邮件引入rails应用程序

时间:2011-05-08 17:22:10

标签: ruby-on-rails ruby ruby-on-rails-3 email imap

我使用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等所有电子邮件,这是不同的吗?

对此的任何帮助都会很棒。 感谢

瑞克

1 个答案:

答案 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