Cerca e-mail appartenenti SOLO all'etichetta specificata


14

Come faccio a cercare le e-mail che appartengono solo a un'etichetta specificata e che non appartengono ad altre etichette.


sfortunatamente non esiste un flag esclusivo che fa davvero schifo .. in particolare voglio trovare tutte le e-mail che sono nell'etichetta: web e SOLO in quella etichetta ... nessun modo per farlo al momento oltre ad aggiungere -label: other_label -label: another_label e l'elenco continua ... per gli hacker tra di voi - sì, prendete un elenco piatto delle vostre etichette e scrivete un semplice script per generare il comando di cui avete bisogno ...
Nir Pengas,

Risposte:


9

Puoi cercare e-mail che appartengono a un'etichetta specifica usando il

label:mylabel <include search terms here>

sintassi e puoi escludere i messaggi da un'etichetta specifica usando il

-label:mylabel <include search terms here>

sintassi.

Quindi quello che vuoi può essere realizzato usando una combinazione di entrambi. Devi comporre una stringa di ricerca contenente un "-label: mylabel" per tutte le etichette che hai definito, ad eccezione di quella che stai cercando, in questo modo:

label:thisisthelabelimlookingfor -label:label1 -label:label2 ... <include search terms here>

3
sì, stavo pensando sulla stessa linea, ma ho pensato che forse c'è un modo migliore, con molta meno battitura. Ho definito circa 100 etichette :(
Midhat,

posso ottenere un semplice elenco di tutte le mie etichette in chiaro?
Midhat,

@Mathat: buona domanda. Puoi accedere al tuo account utilizzando imap e ottenere un elenco di tutte le etichette come mostrato in questa risposta a una domanda stackoverflow . Ma potrebbero esserci modi migliori.
dal

Ho ottenuto il mio semplice elenco di etichette di testo dalle opzioni di Gmail offline. elenca tutte le etichette, separate da virgola.
Midhat,

Anche l'operatore -label non ha funzionato per me
Midhat il

2

Non è il modo migliore al mondo, ma usa le etichette integrate a tuo vantaggio. Ciò presuppone che non ti interessi delle etichette che GMail applica, come Social, Aggiornamenti, Promozioni o Forum. Queste etichette non sono considerate ETICHETTE UTENTE (Il mio esempio di etichetta utente: Foo)

  1. vai su Tutti i messaggi: seleziona Tutti i messaggi, quindi seleziona "Seleziona tutti i messaggi XXX in tutti i messaggi" (si applica a tutti i messaggi di posta elettronica)
  2. utilizzare il menu Etichetta per deselezionare una delle etichette GMail (sopra). Di solito uso le promozioni.
  3. vai all'etichetta che ti interessa cercare (Foo)
  4. Seleziona Tutto e poi 'Seleziona tutti i messaggi XXX in (Foo)'
  5. usa il menu etichetta per selezionare l'etichetta GMail cancellata dal passaggio 2 (Promozioni) - e per deselezionare l'etichetta corrente (Foo)
  6. ora hai tutti i tuoi messaggi (Foo) con etichetta, cambiati in etichetta (Promozioni) - un'etichetta che NON è un'etichetta utente
  7. vai a (Promozioni) - aggiungi alla ricerca: 'has: nouserlabels'
  8. ora hai un elenco di e-mail che erano SOLO etichettate come (Foo)
  9. vai a (Promozioni) - seleziona Tutto e poi 'Seleziona tutti i XXX messaggi in (Promozioni)'
  10. utilizzare il menu Etichetta per aggiungere (Foo) a tutti i messaggi. Tutto è tornato normale

0

Quando si filtrano i messaggi in Gmail, vengono configurati nella visualizzazione conversazione per impostazione predefinita. L'impostazione di visualizzazione della conversazione raggruppa le e-mail con lo stesso oggetto insieme come un singolo messaggio basato sulla conversazione.

Pertanto, durante la selezione o la navigazione dei messaggi filtrati, vedrai più etichette sui messaggi che non sono pertinenti ai tuoi criteri specificati.

Che viene visualizzato come:

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

Per risolvere questo problema, vai su Settings -> General -> Conversation viewSeleziona Conversation View Offe quindi fai clic su Salva modifiche. Una volta aggiornata la pagina, tutte le conversazioni verranno suddivise in singoli messaggi.

Che ora mostrerà come:

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

Nella maggior parte dei casi, ciò dovrebbe essere sufficiente per filtrare i messaggi in base a una singola etichetta.

Ciò ha l'impatto negativo del raggruppamento delle e-mail inoltrate e delle risposte ai singoli messaggi.

Tuttavia, è possibile modificare liberamente l'impostazione senza perdere i gruppi di conversazioni, quando viene riattivata la visualizzazione della conversazione.


Per quanto riguarda la ricerca con i filtri; uno dei problemi sono i modificatori di AND / OR nel contesto dei valori.

  • Per specificare OR all'interno di un gruppo di valori, utilizzare le parentesi graffe: {a b}
    • Si traduce in: a OR b.
  • Per specificare AND all'interno di un gruppo di valori, utilizzare le parentesi (a b)
    • Si traduce in: a AND b.
  • Per specificare un operatore NOT su un valore, utilizzare il simbolo meno -a
    • Si traduce in: NOT a.

Ciò consente di utilizzarli in combinazione con altri operatori come label:, from:, to:etc.

Un elenco degli operatori e dei modificatori disponibili in Gmail è disponibile sul loro sito Web https://support.google.com/mail/answer/7190

In generale un filtro come label:a -label:x -label:ysi tradurrebbe in Has label a and does not have label x and y.

Ciò significa che verranno trovati i messaggi che hanno un'etichetta a e mancante o l'etichetta x o 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>

Per filtrare un gruppo di etichette è necessario utilizzare un filtro come: label:{x y z}per includere un messaggio con le etichette x, yoppure z.

Per escludere un gruppo di etichette, si può usare un filtro come: -{label:{a b c}}per escludere tutti i messaggi che hanno le etichette a, bo c.

Per combinare i filtri che sarebbe simile a questa: label:{x y z} -{label:{a b c}}.

Che si traduce in: Has labels x, y, or z AND does NOT have labels a, b, or c

Puoi anche combinare i raggruppamenti NOT con operatori aggiuntivi come: -{label:{a b} from:{domain.com}}che si traduce indoes NOT have labels a OR b OR from domain.com

Considerazioni speciali; durante la ricerca di valori che contengono spazi, racchiudere il valore tra virgolette "..."per garantire una corrispondenza esatta. Altrimenti considererà lo / gli spazio / i come ANDo come ORmodificatore in base al contesto di raggruppamento (uso di parentesi graffe o parentesi).

In questo modo: label:{My Label}dovrebbe essere label:{"My Label"}.


Quindi, per rispondere alla domanda originale per trovare messaggi che contengono solo una singola etichetta di My Labele nessun altro, dovresti usare: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>

Purtroppo dovresti definire esplicitamente tutte le etichette escluse, in quanto non esiste un operatore per specificare solo l'etichetta. Tieni presente che vorrai disabilitare la visualizzazione della conversazione, per evitare il raggruppamento dei messaggi che contengono anche le etichette escluse.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.