Невозможно установить: УДАЛИТЬ флаг в почтовом ящике GMail, используя rails 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.uid_copy(item_uid, "TestFolder")

Мне не удалось найти причину этого, тем более что я могу без проблем создавать "папки" и копировать в них элементы. Я использую ruby ​​1.9.2, rails 3.2.10, mail 2.4.4

Любая помощь действительно спасет мой разум.

ура

~~~~~~~ edit Настройки почты по умолчанию настраиваются в соответствии с ниже;

#==> 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|

и используется здесь (в том же формате);

  #==> 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

1 ответ

Исправлено... Мне нужно было явно выбрать INBOX, прежде чем он позволит мне внести любые изменения в магазине. Вы не можете полагаться на значение по умолчанию для INBOX при подключении, даже если он выглядит как "в" INBOX.

connector.uid_copy(item_uid, "Archive")
connector.select("INBOX")   <== Need to explicitly select the INBOX
connector.uid_store(item_uid, "+FLAGS", [:Deleted])

Это сложно для обезьяны отвертки, как я, чтобы работать!!:)

Другие вопросы по тегам