Ruby on rails 无法使用rails mail gem在GMail收件箱上设置:删除标志

Ruby on rails 无法使用rails mail gem在GMail收件箱上设置:删除标志,ruby-on-rails,gmail-imap,mail-gem,Ruby On Rails,Gmail Imap,Mail Gem,我在尝试设置删除标志时遇到此错误 Net::IMAP::NoResponseError (STORE attempt on READ-ONLY folder (Failure)) 运行此命令时引发错误 connector.uid_store(item_uid, "+FLAGS", [:Deleted]) 这段代码在此之前运行良好 connector.create("TestFolder") unless connector.list('', "TestFolder") connector.u

我在尝试设置删除标志时遇到此错误

Net::IMAP::NoResponseError (STORE attempt on READ-ONLY folder (Failure))
运行此命令时引发错误

connector.uid_store(item_uid, "+FLAGS", [:Deleted])
这段代码在此之前运行良好

connector.create("TestFolder") unless connector.list('', "TestFolder")
connector.uid_copy(item_uid, "TestFolder")
我一直找不到这样做的原因,特别是因为我可以创建“文件夹”并毫无问题地将项目复制到其中。 我使用的是ruby 1.9.2、rails 3.2.10、mail 2.4.4

任何帮助都能救我的命

干杯

~~~~~~~~~编辑 邮件默认设置如下所示

#==> Collect items
case feed.url_type
when "IMAP"
  puts "Trying IMAP retriever for " + feed.url_source
  Mail.defaults do
    retriever_method :imap,
      :address => feed.url_source,
      :port => 993,
      :user_name => feed.user,
      :password => feed.password,
      :enable_ssl => true,
      :read_only => false
  end
  self.add_email_stubs(Mail.find(), feed)
接头
从此处拾取

def add_email_stubs(items, feed)
    Mail.all do |item, connector, item_uid|
并在此处使用(在相同的def中)

移动消息 创建连接器(“存档”),除非连接器列表(“存档”) 连接器uid副本(项目uid,“存档”) connector.uid_store(item_uid,“+FLAGS”,[:Deleted])修复了。。。 我需要明确地选择收件箱,然后它才能允许我对商店进行任何更改。 在连接时,您不能依赖默认的收件箱,即使它看起来像是“在”收件箱中

connector.uid_copy(item_uid, "Archive")
connector.select("INBOX")   <== Need to explicitly select the INBOX
connector.uid_store(item_uid, "+FLAGS", [:Deleted])
connector.uid\u副本(项目uid,“存档”)
连接器。选择(“收件箱”)已修复。。。
我需要明确地选择收件箱,然后它才能允许我对商店进行任何更改。
在连接时,您不能依赖默认的收件箱,即使它看起来像是“在”收件箱中

connector.uid_copy(item_uid, "Archive")
connector.select("INBOX")   <== Need to explicitly select the INBOX
connector.uid_store(item_uid, "+FLAGS", [:Deleted])
connector.uid\u副本(项目uid,“存档”)

连接器。选择(“收件箱”)如何设置连接器?如果您碰巧使用了
检查
,这将设置对文件夹的只读访问。我正在使用邮件gem并从中取出连接器-因此,我认为这不应该使用
检查
。我已在上面添加了相关代码。请尝试将
:read_only=>false
添加到
邮件中。默认值
。据我所知,它应该是默认的,但不知何故文件夹似乎是只读的,否则
STORE
命令会成功。谢谢eugen,但没有任何区别。我还刚刚对一个全新的帐户进行了测试,测试结果完全相同。有趣的是(令人沮丧!)uid\u copy很高兴地在gmail中添加了“存档”标签。是否有一种方法(除上述方法外)可以随时删除“收件箱”标签??如何设置
连接器
?如果您碰巧使用了
检查
,这将设置对文件夹的只读访问。我正在使用邮件gem并从中取出连接器-因此,我认为这不应该使用
检查
。我已在上面添加了相关代码。请尝试将
:read_only=>false
添加到
邮件中。默认值
。据我所知,它应该是默认的,但不知何故文件夹似乎是只读的,否则
STORE
命令会成功。谢谢eugen,但没有任何区别。我还刚刚对一个全新的帐户进行了测试,测试结果完全相同。有趣的是(令人沮丧!)uid\u copy很高兴地在gmail中添加了“存档”标签。是否有一种方法(除上述方法外)可以随时删除“收件箱”标签??通常是
邮件。默认情况下,所有
都应选择
收件箱
文件夹,但显然情况并非如此。很好地找到了解决方案!通常情况下,
邮件.all
默认情况下应选择
收件箱
文件夹,但显然情况并非如此。很好地找到了解决方案!