Encaminhei um dos meus endereços de e-mail realmente antigos para o Gmail. Gostaria de criar um filtro para que qualquer e-mail para esse endereço antigo seja sempre rotulado corretamente no Gmail.
Posso criar um filtro do Gmail com o “Para:” contendo esse endereço, mas isso não pega todos os e-mails para esse endereço, apenas aqueles que são endereçados explicitamente. Freqüentemente, há spam em que outra pessoa é o destinatário explícito e meu endereço antigo era simplesmente Cco “d. O filtro “To:” não funciona.
O que eu “d gostaria de fazer é filtrar no cabeçalho” Delivered-To: “. Isso é possível com o Gmail ou estou preso às três opções padrão de De, Para, Assunto?
Comentários
- Relacionado: Crie um filtro do Gmail para notificações da agenda
Resposta
Sim, você pode filtrar por entregue. Basta criar um novo filtro com deliveredto:[email protected]
no campo has the words
.
Comentários
- Não é muito intuitivo, mas sim. Acho que a maioria
to:
deveria serdeliveredto:
, na verdade, para suportar BCCs. - Isso também funcionou com curingas, para exemplo, usando um endereço de pega-tudo em
deliveredto:*@mydomain.com
? Estou tentando, mas demorarei para testar. - Observe que você pode usar a barra de pesquisa na parte superior do GMail para construir sua pesquisa avançada e, em seguida, clicar na seta no final da barra de pesquisa e selecionar ” Crie um filtro com esta pesquisa. ”
- Isso não resolve o problema de cabeçalhos diferentes de Delivered-To ? (Digamos que uma pesquisa pelos cabeçalhos Auto-submetidos ou de precedência)
- ‘ é bastante desagradável que o texto do cabeçalho seja ” Delivered-To: ” enquanto o campo ” tem ” elimina o campo ‘ – ‘ para render ” entregue a: “.
Resposta
Aqui está uma lista de todos os operadores avançados:
de:
para:
assunto:
OU
– (hífen)
rótulo:
tem: anexo
list:
filename:
“” (aspas)
()
em: qualquer lugar
em: caixa de entrada
em: lixo
em: spam
é: importante
is: starred
is: unread
is: read
has: yellow-star
has: red-star
has: orange-star
has: green-star
has: blue-star
has: purple-star
has: red-bang
has: orange-guillemet
has: yellow-bang
has: green- check
has: blue-info
has: purple-question
cc:
bcc:
after:
before:
mais antigo:
newer:
old_than:
newer_than:
is: chat
Deliverto:
circle:
has: circle
category:
size:
maior:
menor:
+ (sinal de mais)
rfc822msgid:
has: userlabels
has: nouserlabels
[ fonte ]
Comentários
- Obrigado. Até mesmo suas páginas tornam difícil determinar se um operador NOT
-
funcionaria em endereços curinga, por exemplo:-*@mydomain.com
noTo:
campo
Resposta
- vá para https://script.google.com e crie um novo Google Apps Script
-
selecione a opção “Criar script para Gmail” opção
- isso criará um projeto de script
- isso criará um script chamado
Code.gs
- isso criará funções de amostra, uma delas chamada
processInbox
-
salve o projeto
- personalize o script e teste-o até ficar satisfeito
-
encontre o botão “gatilho personalizado” do “projeto 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á iterar em 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); } } }
Vá um passo adiante e chame GmailApp.search()
se desejar 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 com getRawContent()
e tenta encontrar seu cabeçalho lá, se 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) } }
Comentários
- Minha reação instintiva não comprovada é que o Google fará algo para impedir os usuários percorrendo shows de conteúdo de e-mail bruto a cada minuto. Portanto, ‘ d aconselho a substituir ” var threads = GmailApp.getInboxThreads (); ” com ” var threads = GmailApp.search (” newer_than: 1h “); ”
- Estou usando
var MyEmails = GmailApp.search("is:unread in:inbox");
para pesquisar todos os e-mails da caixa de entrada que ainda não foram lidos - @Rick – escrevi um script que usa a interface IMAP para percorrer todos os 13 + GB em minha conta do gmail. ‘ Não ‘ me surpreenderia se script.google.com permitisse.
- Para o benefício de quem quer que venha para isso como eu estava tentando fazer exatamente isso, você não pode ‘ adicionar um rótulo a uma mensagem, apenas ao tópico, para ‘ vou precisar fazer
message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
- Você pode obter o cabeçalho da mensagem, o que pode ser melhor do que pesquisar no corpo, especialmente para mensagens com anexos.
Resposta
Você pode usar o operador deliveredto:
no Has the words
campo ao criar um filtro, conforme @mvime indicado. No entanto, nem todos os provedores de e-mail acrescentam Delivered-to
ao cabeçalho do e-mail, então uma maneira mais confiável é encaminhar [email protected]
para [email protected]
e filtrar por deliveredto:([email protected])
.