É possível criar um filtro do Gmail que funcione em cabeçalhos diferentes de De, Para, Assunto?


105

Encaminhei um dos meus endereços de e-mail realmente antigos para o Gmail. Eu gostaria de criar um filtro para que qualquer email para esse endereço antigo seja sempre rotulado corretamente no Gmail.

Posso criar um filtro do Gmail com o "Para:" que contém esse endereço, mas que não captura todos os emails nesse endereço, apenas os que são explicitamente endereçados. Freqüentemente, há spam onde outra pessoa é o destinatário explícito, e meu endereço antigo era simplesmente Bcc'd. O filtro "Para:" não funciona.

O que eu gostaria de fazer é filtrar no cabeçalho "Delivered-To:". Isso é possível no Gmail ou estou preso às três opções padrão de De, Para, Assunto?


Respostas:


68

Sim, você pode filtrar por entregue a. Basta criar um novo filtro com deliveredto:youremail@address.comno has the wordscampo.


Não é muito intuitivo, mas sim. Eu acho que a maioria to:deveria deliveredto:, na verdade, apoiar os BCCs.
lapo 2/04/12

Isso também funcionou com caracteres curinga, por exemplo, usando um endereço de e - mail genérico deliveredto:*@mydomain.com? Estou tentando, mas levará tempo para testar.
Marcos

1
Observe que você pode usar a barra de pesquisa na parte superior do GMail para construir sua pesquisa avançada, clique na seta no final da barra de pesquisa e selecione "Criar filtro com esta pesquisa".
Feckmore #

2
Isso não resolve o problema para cabeçalhos que não sejam Delivered-To? (Diga uma pesquisa para a Auto-submetido ou cabeçalhos de precedência)
Gert van den Berg

2
É bastante desagradável que o texto do cabeçalho seja "Delivered-To:", enquanto o campo "has" elimine o '-' para produzir "deliverto:".
James Bowery

36

Aqui está uma lista de todos os operadores avançados:

de:
para:
assunto:
OR
- (hífen)
label:
has: anexo
list:
filename:
"" (quotes)
()
in:
em qualquer lugar dentro: inbox
in: lixeira
in: spam
is: important
is: starred
is: unread
is: A leitura
tem: estrela amarela tem: estrela
vermelha tem: estrela
laranja tem: estrela
verde tem: estrela
azul
tem: estrela roxa
tem: estrela vermelha tem: red-bang
tem: laranja-guillemet
tem: yellow-bang
tem: verde- cheque
possui: blue-info
has: purple-question
cc:
cco:
após:
antes:
mais antigo:
mais recente:
mais_versão: mais
recente:
é: bate-papo
entregue:
círculo:
tem:
categoria de círculo :
tamanho:
maior:
menor:
+ (sinal de mais)
rfc822msgid:
has: userlabels
has: nouserlabels

[ fonte ]


Obrigado. Até mesmo suas páginas tornam difícil determinar se um operador NOT -iria trabalhar em endereços curinga, por exemplo: -*@mydomain.comno To:campo
Marcos

31
  1. acesse https://script.google.com e crie um novo script do Google Apps

novo script do Google Apps.

  1. selecione a opção "Criar script para o Gmail"

    • isso criará um projeto de script
    • isso criará um script chamado Code.gs
    • isso criará funções de amostra, uma delas chamada processInbox
  2. salve o projeto

  3. personalize o script e teste-o até ficar satisfeito
  4. encontre o botão "gatilhos do projeto personalizado"

    botão de disparo personalizado

    • isso permitirá que você execute o script em um cronômetro (por exemplo, diariamente ou a cada minuto )

Exemplo:

processInbox

Esta função irá percorrer todas as mensagens na caixa de entrada.

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);
      }
   }
}

Dê um passo adiante e ligue GmailApp.search()se quiser fazer algo sofisticado em vez de GmailApp.getInboxThreads().

processMessage

Esta função cuidará do processamento de uma única mensagem; você obtém o conteúdo bruto getRawContent()e tenta encontrar o cabeçalho lá, se ele estiver lá, marque a mensagem.

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)
  }
}

11
Minha reação intestinal não comprovada é que o Google terá algo para impedir que os usuários percorram shows que valem a pena a cada minuto. Portanto, aconselho a substituir "var threads = GmailApp.getInboxThreads ();" com "var threads = GmailApp.search (" newer_than: 1h ");"
31415 Rick

Eu estou usando var MyEmails = GmailApp.search("is:unread in:inbox");a fim de pesquisar todo o e-mail na caixa de entrada que ainda não são lidos
Ronen Ariely

@ Rick - eu escrevi um script que usa a interface IMAP para percorrer todos os 13 GB na minha conta do Gmail. 'Não me surpreenderia se script.google.com permitisse.
broofa 23/08/19

1

Você pode usar o deliveredto:operador no Has the wordscampo ao criar um filtro, como @mvime indicado. No entanto, nem todos os provedores de e-mail anexar Delivered-toao cabeçalho de e-mail, por isso uma maneira mais confiável é de transmitir you@oldemail.coma you+oldemail@gmail.com, e filtrar por deliveredto:(you+oldemail@gmail.com).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.