Ho inoltrato uno dei miei vecchi indirizzi email a Gmail. Vorrei creare un filtro in modo che qualsiasi messaggio a quel vecchio indirizzo sia sempre etichettato correttamente in Gmail.

Posso creare un filtro Gmail con “A:” contenente quellindirizzo, ma questo non cattura tutti i messaggi a quellindirizzo, solo quelli che sono esplicitamente indirizzati. Spesso, cè spam dove qualcun altro è il destinatario esplicito e il mio vecchio indirizzo era semplicemente Ccn “d. Il filtro “A:” non “funziona.

Quello che” vorrei “ fare è filtrare sullintestazione” Delivered-To: “. È possibile con Gmail o sono bloccato con le tre opzioni standard di Da, A, Oggetto?

Commenti

Risposta

Sì, puoi filtrare per consegnato a. Basta creare un nuovo filtro con deliveredto:[email protected] nel campo has the words.

Commenti

  • Non molto intuitivo, ma sì. Penso che la maggior parte dei to: dovrebbe essere deliveredto: in realtà, per supportare BCC.
  • Funziona anche con i caratteri jolly, per ad esempio, utilizzando un indirizzo email generico in deliveredto:*@mydomain.com? Lo sto provando ma ci vorrà del tempo per testarlo.
  • Tieni presente che puoi utilizzare la barra di ricerca nella parte superiore di Gmail per creare la tua ricerca avanzata, quindi fai clic sulla freccia alla fine della barra di ricerca e seleziona ” Crea filtro con questa ricerca. ”
  • Questo non risolve il problema per le intestazioni diverse da Delivered-To ? (Supponi di cercare le intestazioni Invio automatico o Precedence)
  • ‘ è piuttosto odioso che il testo dellintestazione sia ” Consegnato a: ” mentre il campo ” ha ” elimina il campo ‘ – ‘ per rendere ” deliverto: “.

Risposta

Di seguito è riportato un elenco di tutti gli operatori avanzati:

da:
a:
oggetto:
OR
– (trattino)
etichetta:
ha: allegato
elenco:
nomefile:
“” (virgolette)
()
in: ovunque
in: posta in arrivo
in: cestino
in: spam
è: importante
è: stella
è: non letto
è: letto
ha: stella gialla
ha: stella rossa
ha: stella arancione
ha: stella verde
ha: blue-star
ha: purple-star
ha: red-bang
ha: orange-guillemet
ha: yellow-bang
ha: green- check
ha: blue-info
has: purple-question
cc:
bcc:
dopo:
prima:
più vecchi:
più recenti:
old_than:
newer_than:
è: chat
consegnato a:
cerchio:
ha: cerchio
categoria:
taglia:
più grande:
più piccolo:
+ (segno più)
rfc822msgid:
has: userlabels
has: nouserlabels

[ source ]

Commenti

  • Grazie. Anche le loro pagine rendono difficile determinare se un operatore NOT - potrebbe funzionare su indirizzi con caratteri jolly, ad esempio: -*@mydomain.com nel To: campo

Risposta

  1. vai a https://script.google.com e crea un nuovo Google Apps Script

nuovo script di Google Apps.

  1. seleziona lopzione “Crea script per Gmail”

    • questo creerà un progetto di script
    • questo creerà uno script chiamato Code.gs
    • questo creerà funzioni di esempio, una chiamata processInbox
  2. salva il progetto

  3. personalizza lo script e provalo finché non sei soddisfatto
  4. trova il pulsante “trigger di progetto personalizzato”

    pulsante trigger personalizzato

    • questo ti permetterà di eseguire lo script su un timer (ad es. ogni giorno o ogni minuto )

Esempio:

processInbox

Questa funzione itererà su tutti i messaggi nella Posta in arrivo.

function processInbox() { // process all recent threads in the Inbox (see comment to this answer) var threads = GmailApp.search("newer_than:1h"); for (var i = 0; i < threads.length; i++) { // get all messages in a given thread var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; processMessage(message); } } } 

Vai oltre e chiama GmailApp.search() se vuoi fare qualcosa di stravagante invece di GmailApp.getInboxThreads().

processMessage

Questa funzione si occuperà dellelaborazione di un singolo messaggio; ottieni il contenuto grezzo con getRawContent() e prova a trovare la tua intestazione lì, se è lì, tagga il messaggio.

function processMessage(message) { var body = message.getRawContent(); if (body.indexOf("X-Custom-Header: some-custom-value") > -1) { // do stuff with message (e.g. add label) } } 

Commenti

  • La mia reazione istintiva non dimostrata è che Google avrà qualcosa in atto per fermare gli utenti ripetendo ogni minuto concerti di contenuti email grezzi. Quindi ‘ d consiglio di sostituire ” var thread = GmailApp.getInboxThreads (); ” con ” var thread = GmailApp.search (” newer_than: 1h “); ”
  • Sto utilizzando var MyEmails = GmailApp.search("is:unread in:inbox"); per cercare tutte le email nella posta in arrivo che non sono ancora state lette
  • @Rick – Ho scritto uno script che utilizza linterfaccia IMAP per esaminare tutti i 13 + GB nel mio account Gmail. ‘ ‘ non mi sorprenderebbe se script.google.com lo consentisse.
  • A beneficio di chiunque venga a questo come stavo cercando di fare esattamente questo, puoi ‘ t aggiungere unetichetta a un messaggio, solo al thread, quindi ‘ Dovrai fare message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
  • Puoi ottenere lintestazione del messaggio, che potrebbe essere migliore della ricerca nel corpo, soprattutto per i messaggi con allegati.

Risposta

Puoi utilizzare loperatore deliveredto: nel Has the words campo durante la creazione di un filtro, come indicato da @mvime. Tuttavia, non tutti i provider di posta elettronica aggiungono Delivered-to allintestazione dellemail, quindi un modo più affidabile è inoltrare [email protected] a [email protected] e filtra per deliveredto:([email protected]).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *