2014-11-05 5 views
0

Мы реорганизовали часть нашего кода, вытащили последнюю версию MailCore2 и теперь испытываем некоторые проблемы с Gmail.Правильное использование системных меток GMail

Мы хотели хорошо использовать всю почтовую папку, чтобы оптимизировать использование сети и воздействие энергии. Вот почему мы в основном проверяем только почту, мусор и спам. Эти проверки включают в себя новые проверки сообщений, а также слияние локальных изменений. Но наша проблема проявилась в экономии сквозняков.

Мы добавили сообщение во все письма, а затем в ярлык \ Drafts. Кажется, это не сработает. В какой-то момент Gmail даже добавила дополнительную метку \ Drafts (путь: \ Drafts). Поэтому я предполагаю, что черновики могут быть добавлены только в папку черновиков, а затем синхронизироваться через всю почтовую папку.

Есть ли общее правило, как обращаться с «системными метками»? У меня такое ощущение, что существует так много краевых случаев ... например. метка «Входящие» может быть прикреплена к сообщению, тогда как черновики, спам и бин ведут себя «полностью» разными.

Мы уже нарисовали таблицу, сопоставляющую все типы меток друг с другом, и указали оба типа «добавления поведения» (перетаскивание метки в сообщении и перетаскивание сообщения на метке).

Благодарим вас за идеи!

Edit (05.10.2014):

При добавлении метки шашечный к существующему сообщению, он должен быть назван '\ проект'. Это работает, но странно, так как imap-сервер возвращает флаг папки '\ drafts'

+0

** Важно **: Я только что понял, что папка/метка проекта Gmails должна быть названа '\ Draft' вместо '\ Drafts'. –

+0

Маркировка Gmails является нестандартной и плохо документирована. Я не верю, что есть какой-либо «правильный» способ его использования, а проб и ошибок в значительной степени, как это работает. Однако вы смешиваете ярлыки и флаги? – Max

+0

Нет, Gmail есть. Например: они игнорируют флаг сообщения '\ draft', но вы можете добавить x-gm-label '\ draft' (который должен называться '\ draft ** s **', так как это флаг папки, который они используют для идентифицировать папку черновиков. –

ответ

0

Вам нужно получить список папок с помощью -[MCOIMAPSession fetchAllFoldersOperation]. Затем проверьте -[MCOIMAPFolder flags] и найдите папку с флагом MCOIMAPFolderFlagDrafts.

Вот больше информации о папках и ярлыков на Gmail: https://developers.google.com/gmail/imap_extensions

(См «специального использования удлинителей команды LIST»).

+0

Привет Viêt. Меня это не беспокоило. Получение папок с флагами довольно прямолинейно. Но что, если вы хотите использовать папки/метки?В MailCore я вызываю [session storeLabelsOperationWithFolder: @ "[GMail] \ All Mail" uids: someUIDs kind: MCOIMAPStoreFlagsRequestKindAdd метки: @ "\ draft"], чтобы добавить ярлык проекта GMails к сообщениям. Где «\ drafts» было бы более разумным, так как фактический флаг папки, о котором вы говорите, называется «\ drafts». –

 Смежные вопросы

  • Нет связанных вопросов^_^