Невозможно установить: УДАЛИТЬ флаг в почтовом ящике 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])
Это сложно для обезьяны отвертки, как я, чтобы работать!!:)