Ruby on rails 通过IMAP将电子邮件拉入rails应用程序

Ruby on rails 通过IMAP将电子邮件拉入rails应用程序,ruby-on-rails,ruby,ruby-on-rails-3,email,imap,Ruby On Rails,Ruby,Ruby On Rails 3,Email,Imap,我使用Net::imap通过imap将电子邮件拉入我的应用程序,并将邮件复制到一个All mail文件夹中,然后在收件箱中将其标记为已删除 这样就可以为用户备份所有电子邮件文件夹中的所有电子邮件,而我的应用程序只会从未标记为已删除的收件箱中提取电子邮件 这对gmail来说很好,但我正试图为HordeWebMail做到这一点 我成功地将电子邮件拉入,但似乎无法将其标记为已删除,并将其复制到另一个文件夹 以下是我在gmail中执行此操作的代码: imap.uid_copy(uid, "[Gmail]

我使用Net::imap通过imap将电子邮件拉入我的应用程序,并将邮件复制到一个All mail文件夹中,然后在收件箱中将其标记为已删除

这样就可以为用户备份所有电子邮件文件夹中的所有电子邮件,而我的应用程序只会从未标记为已删除的收件箱中提取电子邮件

这对gmail来说很好,但我正试图为HordeWebMail做到这一点

我成功地将电子邮件拉入,但似乎无法将其标记为已删除,并将其复制到另一个文件夹

以下是我在gmail中执行此操作的代码:

imap.uid_copy(uid, "[Gmail]/All Mail")
imap.uid_store(uid, "+FLAGS", [:Deleted])
有人帮忙吗?部落网络邮件的“[Gmail]/All Mail”)应该改成什么?对于hotmail/yahoo等所有电子邮件来说,这有什么不同吗

这方面的任何帮助都会很好。 谢谢

瑞克,你能试试这个吗

      connection.store( uid , "+FLAGS", [:DELETED]) 
      ...
      connection.expunge()
e、 g.“存储””而不是“uid\u存储”

我没有使用Horde,但上面这一行对我来说适用于几个IMAP服务器

另外,请确保在标记要删除邮件的邮箱上调用连接。删除

e、 g.查看net/imap API中的#删除: 你能试试这个吗

      connection.store( uid , "+FLAGS", [:DELETED]) 
      ...
      connection.expunge()
e、 g.“存储””而不是“uid\u存储”

我没有使用Horde,但上面这一行对我来说适用于几个IMAP服务器

另外,请确保在标记要删除邮件的邮箱上调用连接。删除

e、 g.查看net/imap API中的#删除:

Horde webmail没有默认的存档文件夹,因此您可能应该在第一次尝试存档电子邮件时创建一个,然后将其余的都复制到那里。删除电子邮件的代码应该可以。你有没有收到IMAP服务器错误的回复?嗨,eugen,谢谢你的帮助。尝试创建邮箱时出现权限被拒绝错误?不允许创建新邮箱,但应允许创建新邮件文件夹。你能发布你正在使用的确切代码和收到的确切错误消息吗?@eugen这是我的代码begin#创建邮箱,除非它已经存在imap.create('mailbox'),除非imap.list(''mailbox')rescue Net::imap::NoResponseError=>error put“error----:{error.message”我得到的错误只是权限被拒绝!有什么想法吗??感谢LothordeWebMail没有默认的存档文件夹,所以您可能应该在第一次尝试存档电子邮件时创建一个,然后将其余的都复制到那里。删除电子邮件的代码应该可以。你有没有收到IMAP服务器错误的回复?嗨,eugen,谢谢你的帮助。尝试创建邮箱时出现权限被拒绝错误?不允许创建新邮箱,但应允许创建新邮件文件夹。你能发布你正在使用的确切代码和收到的确切错误消息吗?@eugen这是我的代码begin#创建邮箱,除非它已经存在imap.create('mailbox'),除非imap.list(''mailbox')rescue Net::imap::NoResponseError=>error put“error----:{error.message”我得到的错误只是权限被拒绝!有什么想法吗??谢谢