尝试设置已删除的标志时出现此错误;
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)
从这里获取connector
;
def add_email_stubs(items, feed)
Mail.all do |item, connector, item_uid|
并在这里使用(在相同的def中);
#==> Move message
connector.create("Archive") unless connector.list('', "Archive")
connector.uid_copy(item_uid, "Archive")
connector.uid_store(item_uid, "+FLAGS", [:Deleted]) <==Error occurs here
答案 0 :(得分:1)
...固定 我需要明确选择INBOX才能允许我进行任何STORE更改。 连接时你不能依赖默认的INBOX,即使它看起来像你在'INBOX'。
connector.uid_copy(item_uid, "Archive")
connector.select("INBOX") <== Need to explicitly select the INBOX
connector.uid_store(item_uid, "+FLAGS", [:Deleted])
对于像我这样的螺丝刀猴子来说,必须要解决这个问题! :)