Поиск писем, принадлежащих ТОЛЬКО к указанному ярлыку

14

Как мне искать электронные письма, которые принадлежат только указанному ярлыку и не относятся ни к каким другим ярлыкам.

Мидхат
источник
к сожалению, нет никакого эксклюзивного флага, который действительно отстой .. особенно я хочу найти все электронные письма, которые есть в ярлыке: web и ТОЛЬКО в этом ярлыке ... в настоящее время нет такого способа сделать это, кроме добавления -label: other_label -label: another_label и этот список можно продолжить ... для хакеров среди вас - да, возьмите плоский список ваших ярлыков и напишите простой сценарий, чтобы сгенерировать
нужную

Ответы:

9

Вы можете искать электронные письма, которые принадлежат определенной метке, используя

label:mylabel <include search terms here>

синтаксис, и вы можете исключить сообщения из определенной метки, используя

-label:mylabel <include search terms here>

синтаксис.

Так что то, что вы хотите, может быть достигнуто с помощью комбинации этих двух. Вы должны составить строку поиска, содержащую «-label: mylabel» для всех меток, которые вы определили, кроме той, которую вы ищете, например:

label:thisisthelabelimlookingfor -label:label1 -label:label2 ... <include search terms here>
fretje
источник
3
да, я думал в том же духе, но подумал, что, может быть, есть лучший способ, с гораздо меньшим количеством печатания. У меня определено около 100 ярлыков :(
Midhat
Могу ли я просто получить простой текстовый список всех моих ярлыков?
Midhat
@Midhat: Хороший вопрос. Вы можете получить доступ к своей учетной записи, используя imap, и получить список всех ваших ярлыков, как показано в этом ответе на вопрос stackoverflow . Но могут быть и лучшие способы.
fretje
Я получил список меток в виде простого текста в настройках Gmail. в нем перечислены все метки, разделенные запятой.
Midhat
Также у меня не работал оператор -label
Midhat
2

Не лучшим в мире способом, но используйте встроенные ярлыки в ваших интересах. Это предполагает, что вас не волнуют ярлыки, которые применяет GMail, такие как Social, Updates, Promotions или Forums. Эти ярлыки не считаются ярлыками пользователя (Мой пример ярлыка пользователя: Foo)

  1. перейдите на Все письма - выберите Все письма, а затем выберите «Выбрать все сообщения XXX на все письма» (применимо к каждому фрагменту электронной почты)
  2. используйте меню меток, чтобы отменить выбор одной из меток GMail (см. выше). Я обычно использую Акции.
  3. перейдите на интересующий вас ярлык (Foo)
  4. Выбрать все, а затем «Выбрать все XXX сообщения в (Foo)»
  5. используйте меню меток, чтобы выбрать очищенную метку GMail на шаге 2 (Акции) - и отменить выбор текущей метки (Foo)
  6. теперь у вас есть все ваши (Foo) помеченные сообщения, замененные на ярлык (Promotions) - ярлык, который НЕ является ярлыком пользователя
  7. перейти к (Акции) - добавить к поиску: 'has: nouserlabels'
  8. Теперь у вас есть список электронных писем, которые раньше были помечены ТОЛЬКО как (Foo)
  9. перейти к (Акции) - выберите Все, а затем «Выбрать все XXX сообщения в (Акции)»
  10. используйте меню меток, чтобы добавить (Foo) ко всем сообщениям. Все возвращается на круги своя
боб
источник
0

При фильтрации сообщений в Gmail они настраиваются в режиме разговора по умолчанию. Параметр представления беседы группирует электронные письма с одной и той же темой вместе как одно сообщение на основе беседы.

Таким образом, при выборе или навигации по отфильтрованным сообщениям вы увидите несколько ярлыков на сообщениях, которые не соответствуют заданным критериям.

Который отображается как:

Subject: Hello World (2) <label:a> <label:b>
    Message 1 <label:a>
    Message 2 <label:b>

Чтобы это исправить, перейдите в « Settings -> General -> Conversation viewВыбрать» Conversation View Offи нажмите «Сохранить изменения». После обновления страницы все разговоры будут разбиты на отдельные сообщения.

Который теперь будет отображаться как:

Subject: Hello World <label:a>
Subject: Hello World <label:b>

В большинстве случаев этого должно быть достаточно для фильтрации сообщений по одной метке.

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

Тем не менее, параметр может быть свободно изменен без потери группировок разговоров, когда просмотр разговора повторно включен.


Что касается поиска с фильтрами; одна из проблем - это модификаторы AND / OR в контексте значений.

  • Чтобы указать ИЛИ в группе значений, вы используете фигурные скобки: {a b}
    • Переводит на: a OR b.
  • Чтобы указать AND в группе значений, вы используете скобки (a b)
    • Переводит на: a AND b.
  • Чтобы указать оператор NOT для значения, вы используете символ минус -a
    • Переводит на: NOT a.

Это позволяет использовать их в сочетании с другими операторами, такими как label:, from:и to:т. Д.

Список операторов и модификаторов, доступных в gmail, можно найти на их веб-сайте https://support.google.com/mail/answer/7190.

В общем фильтр вроде label:a -label:x -label:yбы перевел на Has label a and does not have label x and y.

Это означает, что будут найдены сообщения с меткой a, в которых отсутствует метка x или y:

Found: 
    Subject: Hello World <label:a>
    Subject: Hello World <label:a> <label:x> 
    Subject: Hello World <label:a> <label:y>

Not Found:
    Subject: Hello World <label:a> <label:x> <label:y>

Чтобы отфильтровать группу меток вам нужно будет использовать фильтр , как: label:{x y z}включить сообщение о том , имеют метки x, yили z.

Чтобы исключить группу меток, вы должны использовать фильтр , как: -{label:{a b c}}чтобы исключить все сообщения , которые имеют метки a, bили c.

Чтобы объединить фильтры , это будет выглядеть так: label:{x y z} -{label:{a b c}}.

Что переводится как: Has labels x, y, or z AND does NOT have labels a, b, or c

Вы также можете комбинировать группы NOT с дополнительными операторами, такими как: -{label:{a b} from:{domain.com}}что означаетdoes NOT have labels a OR b OR from domain.com

Особое внимание; при поиске значений, содержащих пробелы, заключите значение в кавычки, "..."чтобы обеспечить точное совпадение. В противном случае он будет рассматривать пробел (ы) в качестве модификатора ANDили в ORзависимости от контекста группировки (использование фигурных скобок или скобок).

Вроде так: label:{My Label}должно быть label:{"My Label"}.


Таким образом, чтобы ответить на исходный вопрос, чтобы найти сообщения, которые содержат только одну метку My Labelи не содержат других, вы должны использовать:label:"My Label" -{label:{"label 2" "label 3"}}

Found:
   Subject: Hello World <label:My Label>

Not Found:
   Subject: Hello World <label:label 2>
   Subject: Hello World <label:label 3>
   Subject: Hello World <label:My Label> <label:label 2>
   Subject: Hello World <label:My Label> <label:label 3>
   Subject: Hello World <label:My Label> <label:label 2> <label:label 3>

К сожалению, вам нужно было бы явно определить все исключенные метки, так как нет оператора для указания только метки. Имейте в виду, что вы захотите отключить просмотр беседы, чтобы предотвратить группирование сообщений, которые также содержат исключенные метки.

fyrye
источник